Моаи Android сборка проблема

Я получил сборку Android, которая работает от кого-то, но когда я пытаюсь запустить его, я получаю ошибки..

09-23 07:25:26.976: E/AndroidRuntime(336): FATAL EXCEPTION: main
09-23 07:25:26.976: E/AndroidRuntime(336): java.lang.ExceptionInInitializerError
09-23 07:25:26.976: E/AndroidRuntime(336):  at java.lang.Class.newInstanceImpl(Native Method)
09-23 07:25:26.976: E/AndroidRuntime(336):  at java.lang.Class.newInstance(Class.java:1409)
09-23 07:25:26.976: E/AndroidRuntime(336):  at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
09-23 07:25:26.976: E/AndroidRuntime(336):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561)
09-23 07:25:26.976: E/AndroidRuntime(336):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
09-23 07:25:26.976: E/AndroidRuntime(336):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
09-23 07:25:26.976: E/AndroidRuntime(336):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
09-23 07:25:26.976: E/AndroidRuntime(336):  at android.os.Handler.dispatchMessage(Handler.java:99)
09-23 07:25:26.976: E/AndroidRuntime(336):  at android.os.Looper.loop(Looper.java:123)
09-23 07:25:26.976: E/AndroidRuntime(336):  at android.app.ActivityThread.main(ActivityThread.java:3683)
09-23 07:25:26.976: E/AndroidRuntime(336):  at java.lang.reflect.Method.invokeNative(Native Method)
09-23 07:25:26.976: E/AndroidRuntime(336):  at java.lang.reflect.Method.invoke(Method.java:507)
09-23 07:25:26.976: E/AndroidRuntime(336):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
09-23 07:25:26.976: E/AndroidRuntime(336):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
09-23 07:25:26.976: E/AndroidRuntime(336):  at dalvik.system.NativeStart.main(Native Method)
09-23 07:25:26.976: E/AndroidRuntime(336): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load moai: findLibrary returned null
09-23 07:25:26.976: E/AndroidRuntime(336):  at java.lang.Runtime.loadLibrary(Runtime.java:429)
09-23 07:25:26.976: E/AndroidRuntime(336):  at java.lang.System.loadLibrary(System.java:554)
09-23 07:25:26.976: E/AndroidRuntime(336):  at com.getmoai.samples.MoaiActivity.<clinit>(MoaiActivity.java:67)
09-23 07:25:26.976: E/AndroidRuntime(336):  ... 15 more

Кто-нибудь может сказать мне, как я могу решить это?

Фалько

3 ответа

Несколько вещей для проверки...

  • Используете ли вы соответствующий эмулятор /AVD изображение? Если вы используете AVD на базе x86 или genymotion, убедитесь, что ваш проект генерирует библиотеки x86. Предполагая, что у вас есть исходный код для ваших библиотек NDK, легко сгенерировать библиотеки для x86 вместе с другими, просто добавьте

    APP_ABI := armeabi armeabi-v7a x86 mips

    или просто

    APP_ABI := all

    в вашем Application.mk (находится в папке jni). Если у вас нет источников (обычно это папка jni), протестируйте на соответствующем устройстве или используйте соответствующую конфигурацию эмулятора AVD.

  • Убедитесь, что eclipse правильно упаковывает нативные библиотеки в ваш APK. Вы можете сделать это, открыв файл APK (расположенный в папке bin) в виде zip-файла, и проверьте, есть ли lib папка и внутри нее x86 папка или соответствующая папка архива для используемой вами конфигурации эмулятора / avd.

    • Если есть проблема, для затмения, чтобы построить и упаковать приложения на основе NDK, вам нужно скачать комплект Android NDK и настроить путь NDK в eclipse в разделе Window -> Preferences -> Android -> NDK,
    • В Eclipse вам также нужно будет щелкнуть правой кнопкой мыши проект и выбрать Android Tools -> Add Native Support... для вашего проекта. Затем вы сможете правильно создавать приложения, использующие NDK.

Я с подозрением собираю материал. Пожалуйста, запустите следующую команду из основного каталога вашего проекта

gradlew чистый ассемблер

Это сначала очистит ваш проект, а затем попытается скомпилировать его. Надеюсь, что это работает.

Кажется, это просто проблема с виртуальными устройствами. Что именно, я не знаю.

Мне удалось собрать и загрузить приложение на подключенный телефон Android

Другие вопросы по тегам