Android — NativeActivty не запустится — Невозможно загрузить нативную библиотеку

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

Я получаю страшную ошибку:

D/AndroidRuntime(16487): Shutting down VM
W/dalvikvm(16487): threadid=1: thread exiting with uncaught exception (group=0x41b1b700)
E/AndroidRuntime(16487): FATAL EXCEPTION: main
E/AndroidRuntime(16487): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.test.test/android.app.NativeActivity}: java.lang.IllegalArgumentException: Unable to load native library: /data/app-lib/com.test.test-1/libtest.so
E/AndroidRuntime(16487):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
E/AndroidRuntime(16487):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
...

Все компилируется и ссылки просто отлично.

У меня также есть app_dummy (), и он производит его правильно, так как когда я запускаю с objdump, я получаю это:

001186f4 g    DF .text  000001a4 ANativeActivity_onCreate

Если это имеет значение, используйте vs-android с набором инструментов 4.7.2, нацелен на 2.3.3 (android-10) для armv7-a. У меня есть библиотеки, которые я включаю соответствующим образом, и в конечном итоге полностью ссылки.

Моя единственная теория, которую я до сих пор не могу доказать, состоит в том, что есть некоторые файлы .so, которые мне также нужно включить в apk. Я предполагал, что внешние библиотеки (так) будут объединены с моими. Если это не так, это, вероятно, объяснит проблему под рукой.

Я не использую никаких make-файлов напрямую — vs-android обрабатывает большинство из них. У меня есть доступ только к некоторым файлам .xml и .property.

0

Решение

Кажется, эта ошибка возникнет неоднозначно, если есть зависимые библиотеки, которые не могут быть найдены. Так как я использую vs-android, я все еще не уверен, как правильно получить внешние файлы .so для правильного включения в apk под /libs/ дорожка.

Единственное решение для включения внешних .so файлов — это каким-то образом получить библиотеки в ваш apk и связать их вручную в коде. System.loadLibrary() на стороне Java перед загрузкой вашей собственной библиотеки или загрузите библиотеки одной собственной библиотекой, а затем запустите основную библиотеку.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]