2016-04-26 80 views
0

我试图更新到最新的LibGDX版本1.9.2(我一直在使用旧版本很长一段时间),但创建一个新的LibGDX项目并运行默认的badlogic徽标应用程序它在Android上崩溃。我创建了新的LibGDX项目很多次,没有任何问题,所以现在一定会有所不同,因为这次不工作。我的项目中没有错误,桌面项目工作正常,只是在尝试运行Android项目时崩溃。Android更新后更新LibGDX

我创建使用安装应用程序的新LibGDX项目,然后通过Eclipse安装过程中,我通常要经过哪去了之前一贯致力于:

  • 设置桌面运行配置到资产的文件夹指向Android的资产文件夹
  • 配置的Android构建路径,我同时使用的是Android 4.4(API 20)和Android 6.0(API 23)
  • 设定Android运行配置为使用我的Android项目并启动对有源器件试图

我也尝试过使用SDK管理器来更新我安装的Android SDK,重新下载LibGDX安装程序,以防万一它损坏了,并且多次删除/重新创建项目,但它仍然不起作用。

我也试着用google搜索错误信息,但是我发现的大部分似乎与LibGDX无关。我发现的一些修复是在我的项目中已经正确设置的设置问题。所以我在这里感到很茫然,不知道问题在哪里。

以下是错误消息:

04-26 00:59:31.724: E/AndroidRuntime(1641): FATAL EXCEPTION: main 
04-26 00:59:31.724: E/AndroidRuntime(1641): Process: com.tekker.metronome, PID: 1641 
04-26 00:59:31.724: E/AndroidRuntime(1641): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.tekker.metronome/com.tekker.metronome.AndroidLauncher}: java.lang.ClassNotFoundException: Didn't find class "com.tekker.metronome.AndroidLauncher" on path: DexPathList[[zip file "/data/app/com.tekker.metronome-1/base.apk"],nativeLibraryDirectories=[/data/app/com.tekker.metronome-1/lib/arm64, /vendor/lib64, /system/lib64]] 
04-26 00:59:31.724: E/AndroidRuntime(1641):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2988) 
04-26 00:59:31.724: E/AndroidRuntime(1641):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3242) 
04-26 00:59:31.724: E/AndroidRuntime(1641):  at android.app.ActivityThread.access$1000(ActivityThread.java:205) 
04-26 00:59:31.724: E/AndroidRuntime(1641):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1695) 
04-26 00:59:31.724: E/AndroidRuntime(1641):  at android.os.Handler.dispatchMessage(Handler.java:102) 
04-26 00:59:31.724: E/AndroidRuntime(1641):  at android.os.Looper.loop(Looper.java:145) 
04-26 00:59:31.724: E/AndroidRuntime(1641):  at android.app.ActivityThread.main(ActivityThread.java:6895) 
04-26 00:59:31.724: E/AndroidRuntime(1641):  at java.lang.reflect.Method.invoke(Native Method) 
04-26 00:59:31.724: E/AndroidRuntime(1641):  at java.lang.reflect.Method.invoke(Method.java:372) 
04-26 00:59:31.724: E/AndroidRuntime(1641):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404) 
04-26 00:59:31.724: E/AndroidRuntime(1641):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199) 
04-26 00:59:31.724: E/AndroidRuntime(1641): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.tekker.metronome.AndroidLauncher" on path: DexPathList[[zip file "/data/app/com.tekker.metronome-1/base.apk"],nativeLibraryDirectories=[/data/app/com.tekker.metronome-1/lib/arm64, /vendor/lib64, /system/lib64]] 
04-26 00:59:31.724: E/AndroidRuntime(1641):  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 
04-26 00:59:31.724: E/AndroidRuntime(1641):  at java.lang.ClassLoader.loadClass(ClassLoader.java:511) 
04-26 00:59:31.724: E/AndroidRuntime(1641):  at java.lang.ClassLoader.loadClass(ClassLoader.java:469) 
04-26 00:59:31.724: E/AndroidRuntime(1641):  at android.app.Instrumentation.newActivity(Instrumentation.java:1080) 
04-26 00:59:31.724: E/AndroidRuntime(1641):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2978) 
04-26 00:59:31.724: E/AndroidRuntime(1641):  ... 10 more 
04-26 00:59:31.724: E/AndroidRuntime(1641):  Suppressed: java.lang.NoClassDefFoundError: com.tekker.metronome.AndroidLauncher 
04-26 00:59:31.724: E/AndroidRuntime(1641):   at dalvik.system.DexFile.defineClassNative(Native Method) 
04-26 00:59:31.724: E/AndroidRuntime(1641):   at dalvik.system.DexFile.defineClass(DexFile.java:226) 
04-26 00:59:31.724: E/AndroidRuntime(1641):   at dalvik.system.DexFile.loadClassBinaryName(DexFile.java:219) 
04-26 00:59:31.724: E/AndroidRuntime(1641):   at dalvik.system.DexPathList.findClass(DexPathList.java:321) 
04-26 00:59:31.724: E/AndroidRuntime(1641):   at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:54) 
04-26 00:59:31.724: E/AndroidRuntime(1641):   ... 14 more 
04-26 00:59:31.724: E/AndroidRuntime(1641):  Suppressed: java.lang.ClassNotFoundException: com.tekker.metronome.AndroidLauncher 
04-26 00:59:31.724: E/AndroidRuntime(1641):   at java.lang.Class.classForName(Native Method) 
04-26 00:59:31.724: E/AndroidRuntime(1641):   at java.lang.BootClassLoader.findClass(ClassLoader.java:781) 
04-26 00:59:31.724: E/AndroidRuntime(1641):   at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) 
04-26 00:59:31.724: E/AndroidRuntime(1641):   at java.lang.ClassLoader.loadClass(ClassLoader.java:504) 
04-26 00:59:31.724: E/AndroidRuntime(1641):   ... 13 more 
04-26 00:59:31.724: E/AndroidRuntime(1641):  Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available 

回答

0

最后我咬咬牙,安装的Android Studio和LibGDX新版本的正常工作与那。所以我想是时候淘汰过时的Eclipse + ADT插件了。

+0

尝试eclipse kepler。我知道Eclipse Luna在libgdx项目中有build.gradle问题。 – Barodapride

+0

由于ADT插件不再更新,坚持使用Eclipse有什么好处吗?我一直在推迟到Android Studio工作,因为我比开发一个新的IDE更专注于开发。但是我能够快速获得LibGDX的设置和工作,所以它没有我想象的那么不同。迄今为止我遇到的一个严重问题是构建非常缓慢。在我的手机上建立和加载应用程序需要2到5分钟的时间。这当然不会起作用!但在构建过程中,根据状态栏,它似乎是Gradle相关的。 – Tekkerue

+0

我使用Eclipse是因为它在我测试游戏的桌面上构建并更快地运行项目。我从来没有真正关注过移动版本的差异。在Eclipse上构建和运行需要2-3秒,而在IntelliJ中(我假设Android Studio)在我的经验中需要15-20秒。听起来不是什么大不了的事情,但是当你每天做100次以上的时候,这听起来并不算什么。特别是在玩弄价值的游戏中发生了很多事情。另外对于某些事情,您可以使用调试模式并在程序运行时更改内容。 – Barodapride