2013-02-11 3 views
1

Я пытаюсь сделать livewallpaper с libgdx.Android-приложение для приложения libgdx вызывает ошибку NoClassDefFoundError при запуске

enter image description here

Я делаю все, как here.

enter image description here

Мой ApplicationListener:

public class GdxTestActivity implements ApplicationListener { 

    @Override 
    public void create() { 
     // TODO Auto-generated method stub 

    } 
    @Override 
    public void dispose() { 
     // TODO Auto-generated method stub 

    } 
    @Override 
    public void pause() { 
     // TODO Auto-generated method stub 

    } 
    @Override 
    public void render() { 
     // TODO Auto-generated method stub 

    } 
    @Override 
    public void resize(int arg0, int arg1) { 
     // TODO Auto-generated method stub 

    } 
    @Override 
    public void resume() { 
     // TODO Auto-generated method stub 

    } 
} 

Livewallpaper.java:

public class LiveWallpaper extends AndroidLiveWallpaperService 
{ 
    @Override 
    public ApplicationListener createListener (boolean isPreview) { 
      return new GdxTestActivity(); 
    } 

    @Override 
    public AndroidApplicationConfiguration createConfig() { 
      return new AndroidApplicationConfiguration(); 
    } 

    @Override 
    public void offsetChange (ApplicationListener listener, float xOffset, float yOffset, float xOffsetStep, float yOffsetStep, 
      int xPixelOffset, int yPixelOffset) { 
      Gdx.app.log("LiveWallpaper", "offset changed: " + xOffset + ", " + yOffset); 
    } 

Почему я вижу это ошибки, когда я загрузить мое приложение?

Link of class 'Lcom/example/gdxtest01/GdxTestActivity;' failed 
Could not find class 'com.example.gdxtest01.GdxTestActivity', referenced from method com.example.gdxtest01.LiveWallpaper.createListener 
VFY: unable to resolve new-instance 620 (Lcom/example/gdxtest01/GdxTestActivity;) in Lcom/example/gdxtest01/LiveWallpaper; 
VFY: unable to find class referenced in signature (Lcom/badlogic/gdx/ApplicationListener;) 
VFY: unable to resolve static field 726 (app) in Lcom/badlogic/gdx/Gdx; 
Link of class 'Lcom/badlogic/gdx/backends/android/AndroidLiveWallpaper;' failed 
Could not find class 'com.badlogic.gdx.backends.android.AndroidLiveWallpaper', referenced from method com.badlogic.gdx.backends.android.AndroidLiveWallpaperService$AndroidWallpaperEngine.onCreate 
VFY: unable to resolve new-instance 520 (Lcom/badlogic/gdx/backends/android/AndroidLiveWallpaper;) in Lcom/badlogic/gdx/backends/android/AndroidLiveWallpaperService$AndroidWallpaperEngine; 
VFY: unable to resolve interface method 3145: Lcom/badlogic/gdx/ApplicationListener;.dispose()V 
Link of class 'Lcom/badlogic/gdx/backends/android/AndroidLiveWallpaper;' failed 
... 
Link of class 'Lcom/badlogic/gdx/backends/android/AndroidLiveWallpaper;' failed 
VFY: unable to resolve instance field 1010 
02-11 21:31:51.398: threadid=1: thread exiting with uncaught exception (group=0x4001d560) 
FATAL EXCEPTION: main 
java.lang.NoClassDefFoundError: com.badlogic.gdx.backends.android.AndroidLiveWallpaper 
at com.badlogic.gdx.backends.android.AndroidLiveWallpaperService$AndroidWallpaperEngine.onCreate(AndroidLiveWallpaperService.java:108) 
at android.service.wallpaper.WallpaperService$Engine.attach(WallpaperService.java:648) 
at android.service.wallpaper.WallpaperService$IWallpaperEngineWrapper.executeMessage(WallpaperService.java:875) 
at com.android.internal.os.HandlerCaller$MyHandler.handleMessage(HandlerCaller.java:61) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:130) 
at android.app.ActivityThread.main(ActivityThread.java:3687) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:507) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625) 
at dalvik.system.NativeStart.main(Native Method) 

После некоторого magic все в порядке.

+0

Что находится в каталоге 'libs' вашего основного проекта? Его странно, что «AndroidLiveWallpaperService» в порядке, но «AndroidLiveWallpaper» - нет. Есть ли что-нибудь еще в журнале до или после исключения, которое может иметь значение? –

+0

@ P.T .: См. Обновленный журнал и путь построения PLS – Leo

ответ

0

gdx.jar от основного проекта не включен в систему Android .apk. (Все com.badlogic.gdx.* классов находятся в этом банке файл.)

См шагов 4, 5, 6 & в Ручной настройке проекта: http://code.google.com/p/libgdx/wiki/ProjectSetup#Android_project_setup

Вы, вероятно, просто не хватаете бит, что метки «gdx.jar» как «экспортировано». Щелкните правой кнопкой мыши проект, выберите Build Path->Configure Build Path .... Перейдите на вкладку Order and Export, убедитесь, что рядом с надписью «gdx.jar» установлен флажок.

+0

Включено. Спасибо за ответы! Посмотрите изображение моего пути сборки. – Leo

Смежные вопросы