У меня есть два проекта в eclipse. Проект1 и Проект2. Project1 использует собственный код, который входит в состав:
static {
System.loadLibrary("thelibraryname");
}
Я добавил Project1 в путь сборки проекта 2. Project2 вызывает методы из класса в Project1, который использует собственные методы. Однако при запуске Project2 я получаю сообщение об ошибке:
Исключение в потоке "main" java.lang.UnsatisfiedLinkError: нет имени библиотеки в java.library.path
Структура каталогов моего проекта eclipse выглядит следующим образом:
Project1
Android 1.6
Android Dependancies
src/
bin/
libs/
armeabi/
libthelibraryname.so
armeabi-v7a/
libthelibraryname.so
x86/
libthelibraryname.so
<some-other-dirs-and-files>
Project2
src/
Testing.java
Junit
JRE System Library
Я обнаружил, что ошибка как-то связана с нативным кодом. Возможно, мне нужно где-то указать ссылку на собственный код, но я не мог найти, как это сделать. Обратите внимание, что eclipse не указывает на какие-либо ошибки во время компиляции, только во время выполнения.
Любые идеи, что я могу сделать, чтобы исправить это? :)
Редактировать:
- Я работаю на 64-битной платформе с 32-битной JRE.
- я пробовал: -Djava.library.path=/path/to/lib/x86 (и с armeabi-v7a и armeabi). Но это ничего не изменило.
-Djava.library.path=/path/to/lib/folder? - person Duncan Jones   schedule 12.05.2014