2012-06-02 41 views
2

在過去,我與我的項目一起工作,一切都很好。但最近,我有這個錯誤:libGDX運行時錯誤

06-02 04:52:27.954: W/dalvikvm(344): Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Lcom/badlogic/gdx/backends/android/AndroidApplication; 
06-02 04:52:27.954: W/dalvikvm(344): Class init failed in newInstance call (Lcom/Jumper/ProjectAndroidActivity;) 
06-02 04:52:27.963: D/AndroidRuntime(344): Shutting down VM 
06-02 04:52:27.963: W/dalvikvm(344): threadid=1: thread exiting with uncaught exception (group=0x40015560) 
06-02 04:52:27.993: E/AndroidRuntime(344): FATAL EXCEPTION: main 
06-02 04:52:27.993: E/AndroidRuntime(344): java.lang.ExceptionInInitializerError 
06-02 04:52:27.993: E/AndroidRuntime(344): at java.lang.Class.newInstanceImpl(Native Method) 
06-02 04:52:27.993: E/AndroidRuntime(344): at java.lang.Class.newInstance(Class.java:1409) 
06-02 04:52:27.993: E/AndroidRuntime(344): at android.app.Instrumentation.newActivity(Instrumentation.java:1021) 
06-02 04:52:27.993: E/AndroidRuntime(344): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561) 
06-02 04:52:27.993: E/AndroidRuntime(344): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 
06-02 04:52:27.993: E/AndroidRuntime(344): at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
06-02 04:52:27.993: E/AndroidRuntime(344): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 
06-02 04:52:27.993: E/AndroidRuntime(344): at android.os.Handler.dispatchMessage(Handler.java:99) 
06-02 04:52:27.993: E/AndroidRuntime(344): at android.os.Looper.loop(Looper.java:123) 
06-02 04:52:27.993: E/AndroidRuntime(344): at android.app.ActivityThread.main(ActivityThread.java:3683) 
06-02 04:52:27.993: E/AndroidRuntime(344): at java.lang.reflect.Method.invokeNative(Native Method) 
06-02 04:52:27.993: E/AndroidRuntime(344): at java.lang.reflect.Method.invoke(Method.java:507) 
06-02 04:52:27.993: E/AndroidRuntime(344): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
06-02 04:52:27.993: E/AndroidRuntime(344): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
06-02 04:52:27.993: E/AndroidRuntime(344): at dalvik.system.NativeStart.main(Native Method) 
06-02 04:52:27.993: E/AndroidRuntime(344): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load gdx: findLibrary returned null 
06-02 04:52:27.993: E/AndroidRuntime(344): at java.lang.Runtime.loadLibrary(Runtime.java:429) 
06-02 04:52:27.993: E/AndroidRuntime(344): at java.lang.System.loadLibrary(System.java:554) 
06-02 04:52:27.993: E/AndroidRuntime(344): at com.badlogic.gdx.utils.GdxNativesLoader.load(GdxNativesLoader.java:116) 
06-02 04:52:27.993: E/AndroidRuntime(344): at com.badlogic.gdx.backends.android.AndroidApplication.<clinit>(AndroidApplication.java:59) 
06-02 04:52:27.993: E/AndroidRuntime(344): ... 15 more 

我認爲這個錯誤是從我的庫。但我換了新的。有沒有解決方案?

回答

8

你抄錯。所以文件夾中的文件。我假設你從gdx-natives.jar中提取它們。而是直接從發佈/每晚複製armeabi和armeabi-v7a文件夾。確保只使用單個版本的jar和natives,不要混合來自多個版本的jars和natives。

或者使用GDX-設置的用戶界面,如下所述http://code.google.com/p/libgdx/wiki/ProjectSetupNew

+0

tnx很多,這是一個很好的觀點。 – Hosein

10

當armeabi和armeabi-v7a目錄找不到時會發生此錯誤。將這兩個目錄及其內容複製到項目的libs目錄中。

它應該是這個樣子:

What the libs directory should look like

+0

我不知道現在發生了什麼......現在,我有這個錯誤... :( '[2012-06-04 15:04:02 - star-assault-android]庫'gdx- natives.jar'包含不會在設備上運行的本地庫。 [2012-06-04 15:04:02 - star-assault-android]找到以下庫: [2012-06-04 15:04 :02 - star-assault-android] - libgdx.so [2012-06-04 15:04:02 - star-assault-android] - libgdx64.so' – Hosein

+0

我的錯誤是關於我的gdx-natives.jar或gdx .jar ....我改變它們太多了,從libgdx-0.9.3到最新的,最後到libgdx-0.9.4,但是每次我都有這個錯誤, – Hosein

4

我得到了我的虛擬機和其他仿真器同樣的錯誤,並發現它是因爲他們跑了86 O/S'es,這libgdx做不支持。

如果它不能在設備上工作,試試這個: android-project - > properties - > java Build Path - > Order and Export。 單擊您鏈接到的項目(您的普通Java項目或桌面項目),然後單擊「向上」按鈕,直到它處於最頂端。確保它打勾[V]。 我也是用罐子做的,以防萬一,現在它運行在我的設備上。我的x86虛擬機仍然出現同樣的錯誤,因爲libgdx不支持x86安卓設備。