2016-04-26 104 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