【发布时间】:2016-03-08 18:59:48
【问题描述】:
我面临以下错误,我已经尝试了 Stackoverflow 的几乎所有解决方案。我是android新手,所以可能我不了解原因。 我正在按照以下说明测试 libgdx 项目:https://github.com/libgdx/libgdx/wiki/Setting-up-your-Development-Environment-%28Eclipse%2C-Intellij-IDEA%2C-NetBeans%29
我按顺序安装了以下提到的工具:
- JDK(java 版本 1.8.0.73)
- 面向 Java 开发人员的 Eclipse IDE 版本:Mars.2 Release (4.5.2)。
- SDK(我有 SDK 工具 24.4.1 和 SDK 构建工具 23.0.2 和 23.0.1)
- 来自 Eclipse 中的 URL 的 Eclipse 的 Android 开发工具:https://dl-ssl.google.com/android/eclipse/
- Gradle 2.11 - 我解压缩了 gradle-all-2.11.zip 并保存在我的本地计算机上。
现在,当我使用 gdx-setup.jar 生成一个非常基本的示例 libgdx 项目并将包命名为 my-gdx-game 时,它创建了一个桌面版本(java 应用程序)和一个 android 版本(android 应用程序)
我在通过 jar 构建项目时使用 Build tools V 23.0.1。我的 Eclipse 屏幕如下所示:
当我右键单击 my-gdx-game-desktop 并作为 Java 应用程序运行时,它成功运行并显示和图像(项目就是显示图像)。
现在,对于 android 项目,我创建了一个 AVD - Nexus 5,Android 4.4.2(api 19),CPU:ARM(armeabi-v7a),使用主机 GPU。我的 manifest.xml 文件如下:
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="23" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/GdxTheme" >
<activity
android:name="com.mygdx.game.AndroidLauncher"
android:label="@string/app_name"
android:screenOrientation="landscape"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Project> Properties> Android:仅选择 Android 4.4.2 (API 19)
现在,当我右键单击 project>run as> android 应用程序时,会打开 AVD 并生成以下错误:
03-08 13:44:35.110: W/dalvikvm(1968): Unable to resolve superclass of Lcom/mygdx/game/AndroidLauncher; (3)
03-08 13:44:35.110: W/dalvikvm(1968): Link of class 'Lcom/mygdx/game/AndroidLauncher;' failed
03-08 13:44:35.110: D/AndroidRuntime(1968): Shutting down VM
03-08 13:44:35.120: W/dalvikvm(1968): threadid=1: thread exiting with uncaught exception (group=0xb1ae4ba8)
03-08 13:44:35.140: E/AndroidRuntime(1968): FATAL EXCEPTION: main
03-08 13:44:35.140: E/AndroidRuntime(1968): Process: com.mygdx.game, PID: 1968
03-08 13:44:35.140: E/AndroidRuntime(1968): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.mygdx.game/com.mygdx.game.AndroidLauncher}: java.lang.ClassNotFoundException: Didn't find class "com.mygdx.game.AndroidLauncher" on path: DexPathList[[zip file "/data/app/com.mygdx.game-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.mygdx.game-1, /system/lib]]
03-08 13:44:35.140: E/AndroidRuntime(1968): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110)
03-08 13:44:35.140: E/AndroidRuntime(1968): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
03-08 13:44:35.140: E/AndroidRuntime(1968): at android.app.ActivityThread.access$800(ActivityThread.java:135)
03-08 13:44:35.140: E/AndroidRuntime(1968): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
03-08 13:44:35.140: E/AndroidRuntime(1968): at android.os.Handler.dispatchMessage(Handler.java:102)
03-08 13:44:35.140: E/AndroidRuntime(1968): at android.os.Looper.loop(Looper.java:136)
03-08 13:44:35.140: E/AndroidRuntime(1968): at android.app.ActivityThread.main(ActivityThread.java:5001)
03-08 13:44:35.140: E/AndroidRuntime(1968): at java.lang.reflect.Method.invokeNative(Native Method)
03-08 13:44:35.140: E/AndroidRuntime(1968): at java.lang.reflect.Method.invoke(Method.java:515)
03-08 13:44:35.140: E/AndroidRuntime(1968): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
03-08 13:44:35.140: E/AndroidRuntime(1968): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
03-08 13:44:35.140: E/AndroidRuntime(1968): at dalvik.system.NativeStart.main(Native Method)
03-08 13:44:35.140: E/AndroidRuntime(1968): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.mygdx.game.AndroidLauncher" on path: DexPathList[[zip file "/data/app/com.mygdx.game-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.mygdx.game-1, /system/lib]]
03-08 13:44:35.140: E/AndroidRuntime(1968): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
03-08 13:44:35.140: E/AndroidRuntime(1968): at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
03-08 13:44:35.140: E/AndroidRuntime(1968): at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
03-08 13:44:35.140: E/AndroidRuntime(1968): at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
03-08 13:44:35.140: E/AndroidRuntime(1968): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2101)
03-08 13:44:35.140: E/AndroidRuntime(1968): ... 11 more
03-08 13:49:35.320: I/Process(1968): Sending signal. PID: 1968 SIG: 9
我已经尝试了很多来自 stackoverflow 的答案,但在我的情况下似乎都没有。请帮忙。
【问题讨论】:
-
检查项目和外部依赖。
-
当我这样做时,上面的错误消失了,但另一个错误出现了:Conversion to Dalvik format failed with error 1
标签: java android eclipse gradle libgdx