2012-06-10 17 views
5

Ogni volta che provo ad eseguire l'applicazione sull'emulatore, l'emulatore visualizza un errore che dice "Sfortunatamente, il mio gioco libGDX si è fermato." L'applicazione funziona bene nella versione desktop però.Android Emulator non avvia il progetto LibGDX?

Ho l'ultima versione notturna, ADT versione 18, l'ultima versione di GWT e l'ultima versione di Eclipse. I miei strumenti Android SDK sono la versione 19, mentre i miei strumenti della piattaforma Android SDK sono la versione 11.

Qualche idea su come risolvere questo problema?

Stavo seguendo lungo questo tutorial: LibGDX tutorial

Ecco uno screenshot di quello che vedo: Emulator Screenshot

Logcat:

06-10 19:50:44.282: I/Process(1548): Sending signal. PID: 1548 SIG: 9 
06-10 19:50:48.022: I/dalvikvm(1566): threadid=3: reacting to signal 3 
06-10 19:50:48.152: I/dalvikvm(1566): Wrote stack traces to '/data/anr/traces.txt' 
06-10 19:50:48.312: W/dalvikvm(1566): Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Lcom/badlogic/gdx/backends/android/AndroidApplication; 
06-10 19:50:48.312: W/dalvikvm(1566): Class init failed in newInstance call (Lcom/me/mygdxgame/MainActivity;) 
06-10 19:50:48.322: D/AndroidRuntime(1566): Shutting down VM 
06-10 19:50:48.332: W/dalvikvm(1566): threadid=1: thread exiting with uncaught exception (group=0xb40d5180) 
06-10 19:50:48.392: E/AndroidRuntime(1566): FATAL EXCEPTION: main 
06-10 19:50:48.392: E/AndroidRuntime(1566): java.lang.ExceptionInInitializerError 
06-10 19:50:48.392: E/AndroidRuntime(1566):  at java.lang.Class.newInstanceImpl(Native Method) 
06-10 19:50:48.392: E/AndroidRuntime(1566):  at java.lang.Class.newInstance(Class.java:1319) 
06-10 19:50:48.392: E/AndroidRuntime(1566):  at android.app.Instrumentation.newActivity(Instrumentation.java:1023) 
06-10 19:50:48.392: E/AndroidRuntime(1566):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1871) 
06-10 19:50:48.392: E/AndroidRuntime(1566):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981) 
06-10 19:50:48.392: E/AndroidRuntime(1566):  at android.app.ActivityThread.access$600(ActivityThread.java:123) 
06-10 19:50:48.392: E/AndroidRuntime(1566):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147) 
06-10 19:50:48.392: E/AndroidRuntime(1566):  at android.os.Handler.dispatchMessage(Handler.java:99) 
06-10 19:50:48.392: E/AndroidRuntime(1566):  at android.os.Looper.loop(Looper.java:137) 
06-10 19:50:48.392: E/AndroidRuntime(1566):  at android.app.ActivityThread.main(ActivityThread.java:4424) 
06-10 19:50:48.392: E/AndroidRuntime(1566):  at java.lang.reflect.Method.invokeNative(Native Method) 
06-10 19:50:48.392: E/AndroidRuntime(1566):  at java.lang.reflect.Method.invoke(Method.java:511) 
06-10 19:50:48.392: E/AndroidRuntime(1566):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
06-10 19:50:48.392: E/AndroidRuntime(1566):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
06-10 19:50:48.392: E/AndroidRuntime(1566):  at dalvik.system.NativeStart.main(Native Method) 
06-10 19:50:48.392: E/AndroidRuntime(1566): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load gdx: findLibrary returned null 
06-10 19:50:48.392: E/AndroidRuntime(1566):  at java.lang.Runtime.loadLibrary(Runtime.java:365) 
06-10 19:50:48.392: E/AndroidRuntime(1566):  at java.lang.System.loadLibrary(System.java:535) 
06-10 19:50:48.392: E/AndroidRuntime(1566):  at com.badlogic.gdx.utils.GdxNativesLoader.load(GdxNativesLoader.java:116) 
06-10 19:50:48.392: E/AndroidRuntime(1566):  at com.badlogic.gdx.backends.android.AndroidApplication.<clinit>(AndroidApplication.java:59) 
06-10 19:50:48.392: E/AndroidRuntime(1566):  ... 15 more 
06-10 19:50:49.152: I/dalvikvm(1566): threadid=3: reacting to signal 3 
06-10 19:50:49.192: I/dalvikvm(1566): Wrote stack traces to '/data/anr/traces.txt' 
06-10 19:50:49.972: I/dalvikvm(1566): threadid=3: reacting to signal 3 
06-10 19:50:50.012: I/dalvikvm(1566): Wrote stack traces to '/data/anr/traces.txt' 
06-10 19:50:52.093: I/dalvikvm(1566): threadid=3: reacting to signal 3 
06-10 19:50:52.112: I/dalvikvm(1566): Wrote stack traces to '/data/anr/traces.txt' 

risposta

14

Se questo è un emulatore basato su ARM, ti sei dimenticato di aggiungi le cartelle armeabi e armeabi-v7a alla cartella/cartella del progetto Android. Si prega di seguire la guida messa a punto qui: http://code.google.com/p/libgdx/wiki/ProjectSetupNew

Se questo è un emulatore x86, ̶ quindi temo Theres alcuna soluzione per questo problema ̶y̶e̶t̶.̶ Non compilare per Android X86 Al ̶m̶o̶m̶e̶n̶t̶.̶

Edit.- x86 è ora supportato

+0

Hmmm, stavo usando Intel Atom (x86) ... – BigBug

+1

Solo per notare che x86 ora sono supportati come mostra Mario in questo post : http://www.badlogicgames.com/wordpress/?p=3103 "Per utilizzare i nativi x86, è sufficiente copiare la cartella x86/dai nightly alla cartella/cartella del progetto Android (accanto all'armeabi e all'armeabi- v7a) L'installazione-ui non aggiungerà automaticamente quelle librerie.Poi ho deciso di farlo in questo modo per il momento, dato che i dispositivi x86 Android sono estremamente rari e faresti esplodere inutilmente le dimensioni del tuo APK. " – sam

0

Se non funziona sul dispositivo sia, provate questo: Android-progetto -> proprietà -> java Corporatura Percorso -> Ordina ed esporta Fai clic sul progetto a cui ti sei collegato (il tuo progetto java o progetto desktop) e fai clic sul pulsante "Su" finché non si trova nella parte superiore. Assicurati che sia spuntato [V]. L'ho fatto anche con i barattoli, per ogni evenienza, e ora gira sul mio dispositivo. Ho ancora lo stesso errore sul mio x86 VM, perché libgdx non supporta i dispositivi Android x86

Problemi correlati