0

我正在使用 Phonegap 和 Cordova 构建一个应用程序。当我在 Eclipse 模拟器中运行该应用程序时,apk已成功安装,但单击它后,我收到一条警报,提示“不幸的是 AppName 已停止”任何解决此问题的指导或建议都会很棒,谢谢。

安慰:

[2013-11-13 12:18:47 - Challenger] Dx 
trouble writing output: already prepared
[2013-11-13 12:18:48 - Challenger] ------------------------------
[2013-11-13 12:18:48 - Challenger] Android Launch!
[2013-11-13 12:18:48 - Challenger] adb is running normally.
[2013-11-13 12:18:48 - Challenger] Performing com.disciplinexgames.DisciplineXgames.Challenger activity launch
[2013-11-13 12:18:48 - Challenger] Automatic Target Mode: launching new emulator with compatible AVD 'testDevice'
[2013-11-13 12:18:48 - Challenger] Launching a new emulator with Virtual Device 'testDevice'
[2013-11-13 12:18:57 - Challenger] New emulator found: emulator-5554
[2013-11-13 12:18:57 - Challenger] Waiting for HOME ('android.process.acore') to be launched...
[2013-11-13 12:19:55 - Challenger] HOME is up on device 'emulator-5554'
[2013-11-13 12:19:55 - Challenger] Uploading Challenger.apk onto device 'emulator-5554'
[2013-11-13 12:20:09 - Challenger] Installing Challenger.apk...
[2013-11-13 12:21:33 - Challenger] Success!
[2013-11-13 12:21:33 - Challenger] Starting activity com.disciplinexgames.DisciplineXgames.Challenger on device emulator-5554
[2013-11-13 12:21:34 - Challenger] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.disciplinexgames.DisciplineXgames/.Challenger }

日志猫:

11-13 07:21:36.140: D/AndroidRuntime(837): Shutting down VM
11-13 07:21:36.140: W/dalvikvm(837): threadid=1: thread exiting with uncaught exception (group=0x41465700)
11-13 07:21:36.150: E/AndroidRuntime(837): FATAL EXCEPTION: main
11-13 07:21:36.150: E/AndroidRuntime(837): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.disciplinexgames.DisciplineXgames/com.disciplinexgames.DisciplineXgames.Challenger}: java.lang.ClassNotFoundException: Didn't find class "com.disciplinexgames.DisciplineXgames.Challenger" on path: DexPathList[[zip file "/data/app/com.disciplinexgames.DisciplineXgames-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.disciplinexgames.DisciplineXgames-1, /system/lib]]
11-13 07:21:36.150: E/AndroidRuntime(837):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2137)
11-13 07:21:36.150: E/AndroidRuntime(837):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
11-13 07:21:36.150: E/AndroidRuntime(837):  at android.app.ActivityThread.access$600(ActivityThread.java:141)
11-13 07:21:36.150: E/AndroidRuntime(837):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
11-13 07:21:36.150: E/AndroidRuntime(837):  at android.os.Handler.dispatchMessage(Handler.java:99)
11-13 07:21:36.150: E/AndroidRuntime(837):  at android.os.Looper.loop(Looper.java:137)
11-13 07:21:36.150: E/AndroidRuntime(837):  at android.app.ActivityThread.main(ActivityThread.java:5103)
11-13 07:21:36.150: E/AndroidRuntime(837):  at java.lang.reflect.Method.invokeNative(Native Method)
11-13 07:21:36.150: E/AndroidRuntime(837):  at java.lang.reflect.Method.invoke(Method.java:525)
11-13 07:21:36.150: E/AndroidRuntime(837):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
11-13 07:21:36.150: E/AndroidRuntime(837):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
11-13 07:21:36.150: E/AndroidRuntime(837):  at dalvik.system.NativeStart.main(Native Method)
11-13 07:21:36.150: E/AndroidRuntime(837): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.disciplinexgames.DisciplineXgames.Challenger" on path: DexPathList[[zip file "/data/app/com.disciplinexgames.DisciplineXgames-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.disciplinexgames.DisciplineXgames-1, /system/lib]]
11-13 07:21:36.150: E/AndroidRuntime(837):  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53)
11-13 07:21:36.150: E/AndroidRuntime(837):  at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
11-13 07:21:36.150: E/AndroidRuntime(837):  at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
11-13 07:21:36.150: E/AndroidRuntime(837):  at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
11-13 07:21:36.150: E/AndroidRuntime(837):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2128)
11-13 07:21:36.150: E/AndroidRuntime(837):  ... 11 more

androidManifest.xml

<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true" android:versionCode="1" android:versionName="1.0.0" android:windowSoftInputMode="adjustPan" package="com.disciplinexgames.DisciplineXgames" xmlns:android="http://schemas.android.com/apk/res/android">
    <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
    <uses-permission android:name="android.permission.INTERNET" />
    <application android:debuggable="true" android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/app_name" android:name="Challenger" android:theme="@android:style/Theme.Black.NoTitleBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
    <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" />
</manifest>
4

4 回答 4

0

类NotFoundException。您的应用无法找到您的班级。检查你所有的java文件一次。或发布您的清单文件。

于 2013-11-13T12:51:07.840 回答
0

尝试转到 Project -> Properties -> Java Build Path -> Order & Export 并确保为您的项目和您正在使用的所有其他库项目检查 Android Private Libraries。之后清理所有项目,看看会发生什么。

于 2013-11-13T12:58:09.193 回答
0

单击按钮时是否显示错误?

于 2013-11-13T13:20:50.667 回答
0

尽量避免在包名中混合大小写名称,这注定会带来麻烦。特别是如果您在 Windows 机器上进行开发。

因此,通过重命名包目录并替换项目的每个文件中的包名,而不是包名 com.disciplinexgames.DisciplineXgames 使用 com.disciplinexgames.disciplinexgames。

于 2013-11-18T12:07:13.313 回答