Я работаю над приложением для Android, в котором я использовал JNI для нативного кода C.
Я строю это приложение на Android версии 2.0 и ndkr3, и он отлично работает.
Теперь, когда я сменил Android SDK версии 1.5 и API версии 3, у меня возникли проблемы с невозможностью открыть библиотеку libtest_demo.so.
05-13 16:54:23.603: INFO/dalvikvm(1211): Unable to dlopen(/data/data/org.abc.test_demo/lib/libtest_demo.so): Cannot find library
Я поместил файл libtest_demo.so в то же место /data/data/org.abc.test_demo/lib/libtest_demo.so, но все еще возникает та же проблема.
В своем Java-файле я назвал нативные библиотеки, например,
System.loadLibrary("abc_jni");
System.loadLibrary("test_demo");
И из logcat я видел, что обе библиотеки использовали один и тот же адрес памяти.
Это вывод logcat
05-13 17:56:15.732: DEBUG/dalvikvm(9897): Trying to load lib /data/data/org.abc.test_demo/lib/libabc_jni.so 0x437317f8
05-13 17:56:15.732: DEBUG/dalvikvm(9897): Added shared lib /data/data/org.abc.test_demo/lib/libabc_jni.so 0x437317f8
05-13 17:56:15.742: DEBUG/dalvikvm(9897): Trying to load lib /data/data/org.abc.test_demo/lib/libtest_demo.so 0x437317f8
05-13 17:56:15.752: INFO/dalvikvm(9897): Unable to dlopen(/data/data/org.abc.test_demo/lib/libtest_demo.so): Cannot find library