Моаи 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.
- Если есть проблема, для затмения, чтобы построить и упаковать приложения на основе NDK, вам нужно скачать комплект Android NDK и настроить путь NDK в eclipse в разделе
Я с подозрением собираю материал. Пожалуйста, запустите следующую команду из основного каталога вашего проекта
gradlew чистый ассемблер
Это сначала очистит ваш проект, а затем попытается скомпилировать его. Надеюсь, что это работает.
Кажется, это просто проблема с виртуальными устройствами. Что именно, я не знаю.
Мне удалось собрать и загрузить приложение на подключенный телефон Android