2012-06-10 22 views
5

Ilekroć próbuję uruchomić aplikację na emulatorze, emulator wyświetla komunikat "Niestety, moja gra libGDX została zatrzymana". Aplikacja działa jednak dobrze w wersji na komputery.Android Emulator nie uruchamia projektu LibGDX?

Mam najnowszą wersję nocną, ADT w wersji 18, najnowszy GWT i najnowszą wersję eclipse. Moje narzędzia Android SDK to wersja 19, a moje narzędzia platformy Android SDK to wersja 11.

Wszelkie pomysły na rozwiązanie tego problemu?

miałem następujący po tym tutorialu: LibGDX tutorial

Oto zrzut ekranu z tego, co widzę: 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' 

Odpowiedz

14

Jeśli jest to emulator oparty ARM, zapomniałeś dodaj foldery armeabi i armeabi-v7a do katalogu libs/twojego projektu Android. Należy przestrzegać instrukcji konfiguracji tutaj: http://code.google.com/p/libgdx/wiki/ProjectSetupNew

Jeśli jest to emulator x86, ̶ następnie obawiam ̶t̶h̶e̶r̶e̶'̶s̶ ma rozwiązania tego problemu ̶y̶e̶t̶.̶ robimy nie skompilować dla Android-x86 At The ̶m̶o̶m̶e̶n̶t̶.̶

Edit.- x86 jest teraz obsługiwana

+0

Hmmm, używałem Intel Atom (x86) ... – BigBug

+1

Zauważ, że x86 są teraz obsługiwane jako programy Mario w tym poście : http://www.badlogicgames.com/wordpress/?p=3103 "Aby użyć x86 dla tubylców, po prostu skopiuj folder x86/z nocnych klubów do folderu libs/projektu projektu Android (obok armeabi i armeabi- Folder v7a) Instalator automatycznie doda te biblioteki automatycznie, ale zdecydowałem się zrobić to w tej chwili, ponieważ urządzenia z systemem x86 z systemem Android są bardzo rzadkie, a niepotrzebnie powiększany jest rozmiar pakietu APK. " – sam

0

Jeśli to nie działa na urządzeniu albo, spróbuj tego: android projekt -> właściwości -> Java budowy Ścieżka -> Zamów i wyeksportuj Kliknij projekt, do którego jesteś podłączony (Twój zwykły projekt Java lub projekt komputerowy) i kliknij przycisk "Up", aż znajdzie się na samym szczycie. Upewnij się, że jest zaznaczone [V]. Zrobiłem to również z słoikami, na wszelki wypadek, a teraz działa na moim urządzeniu. Nadal mam ten sam błąd na maszynie wirtualnej x86, ponieważ libgdx nie obsługuje urządzeń z Androidem x86

Powiązane problemy