2012-03-28 1 views
1

Я разрабатываю простую игру с AndEngine, и я хотел поместить некоторые стены на экран, чтобы персонаж, которого я двигал, должен был ходить и так далее.NoClassDefFoundError: FixedStepPhysicsWorld

Я выяснил, что для этой простой задачи мне нужен объект FixedStepPhysicsWorld. Я загрузил последнюю версию как AndEngine, так и AndEnginePhysics2DExtension от GitHub. Моя игра работает отлично, пока я не позову

this.mPhysicsWorld = new FixedStepPhysicsWorld(30, new Vector2(0, 0), false, 8, 1);

я получаю следующее сообщение об ошибке:

03-28 23:04:57.713: E/AndEngine(16548): PacManActivity.onCreateScene failed. @(Thread: 'GLThread 15') 
03-28 23:04:57.713: E/AndEngine(16548): java.lang.NoClassDefFoundError: org.andengine.extension.physics.box2d.FixedStepPhysicsWorld 
03-28 23:04:57.713: E/AndEngine(16548):  at com.rokuum.games.android.pacman.activity.PacManActivity.onCreateScene(PacManActivity.java:208) 
03-28 23:04:57.713: E/AndEngine(16548):  at org.andengine.ui.activity.SimpleBaseGameActivity.onCreateScene(SimpleBaseGameActivity.java:48) 
03-28 23:04:57.713: E/AndEngine(16548):  at org.andengine.ui.activity.BaseGameActivity$3.onCreateResourcesFinished(BaseGameActivity.java:167) 
03-28 23:04:57.713: E/AndEngine(16548):  at org.andengine.ui.activity.SimpleBaseGameActivity.onCreateResources(SimpleBaseGameActivity.java:43) 
03-28 23:04:57.713: E/AndEngine(16548):  at org.andengine.ui.activity.BaseGameActivity.onCreateGame(BaseGameActivity.java:179) 
03-28 23:04:57.713: E/AndEngine(16548):  at org.andengine.ui.activity.BaseGameActivity.onSurfaceCreated(BaseGameActivity.java:108) 
03-28 23:04:57.713: E/AndEngine(16548):  at org.andengine.opengl.view.EngineRenderer.onSurfaceCreated(EngineRenderer.java:59) 
03-28 23:04:57.713: E/AndEngine(16548):  at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1349) 
03-28 23:04:57.713: E/AndEngine(16548):  at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1119) 

Оба AndEngine и расширение добавляется в путь сборки (как .jar файлы) и игра строит и компилирует без ошибок. Также оба файла jar, отмеченные az, экспортированы на вкладке «Заказ и экспорт» в окне «Путь сборки Java».

Я искал эту проблему в течение дня, и я действительно теряюсь. ИМХО это не имеет никакого отношения к AndEngine или Android или вообще, а скорее к неправильной конфигурации или чему-то еще.

Любые подсказки или помощь были бы оценены с благодарностью!

Спасибо!

+0

Есть ли в выводе трассировка 'Caused by:', которую вы не опубликовали? – sastraxi

ответ

0

Если minSdkVersion меньше уровня API, с которым вы компилируете, Android позволит вам скомпилировать без ошибок, но бросить java.lang.NoClassDefFoundError, если вы попытаетесь запустить на устройстве, которое не поддерживает эту функцию в его уровень API. Я получил эту ошибку раньше, когда я использовал функциональный вызов API уровня 9 (т. Е. Android 2.3) на телефоне 2.2. Возможно, AndEngine делает то же самое.

1

Я нашел ответ. Вы должны скопировать папки «armeabi» - «armeabi-v7a» - «x86» из папки «libs» папки «AndEnginePhysicsBox2DExtension» в папку «libs» вашей игры. Это решит вашу проблему.

+0

Я скопировал файлы и определил папку libs в качестве исходной папки, а затем работал для меня thnx! – hevi