2013-08-05 5 views
0

Я создал еще один вопрос, потому что на всех остальных ответили решение, подобное, но не связанное. Я также гарантировал, что это не проблема удаления символов.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-андроида с набора инструментов 4.7.2, 2.3.3 ориентации (андроид-10), для armv7-a. У меня есть библиотеки, которые я включаю соответственно, и в конечном итоге полностью связываю.

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

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

ответ

0

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

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

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