unable Bibliothek zur Laufzeit in Android-Anwendung zu laden
Ich arbeite an einer Android-Anwendung, in der ich JNI für nativen C-Code verwendet habe. Ich baue diese Anwendung auf Android 2.0-Version und ndkr3 und es funktioniert gut.
Nun als ich die android sdk version 1.5 und die api version 3 änderte, hatte ich Probleme, die Bibliothek libtest_demo.so nicht öffnen zu können.
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
Ich habe die Datei libtest_demo.so an derselben Stelle abgelegt /data/data/org.abc.test_demo/lib/libtest_demo.so, aber trotzdem tritt das gleiche Problem auf.
n meiner Java-Datei habe ich native Bibliotheken wie @ aufgerufe
System.loadLibrary("abc_jni");
System.loadLibrary("test_demo");
Und aus dem Logcat habe ich gesehen, dass beide Bibliotheken dieselbe Speicheradresse verwendet haben.
Dies ist die logcat-Ausgabe
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