no se puede cargar la biblioteca en tiempo de ejecución en la aplicación de Android
Estoy trabajando en una aplicación de Android en la que utilicé JNI para el código c nativo. Construyo esta aplicación en la versión de Android 2.0 y ndkr3 y funciona bien.
Ahora, cuando cambié la versión 1.5 de Android SDK y la versión 3 de API, me encontré con problemas de no poder abrir la biblioteca 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
Puse el archivo libtest_demo.so en el mismo lugar /data/data/org.abc.test_demo/lib/libtest_demo.so pero aún surge el mismo problema.
En mi archivo java llamé bibliotecas nativas como,
System.loadLibrary("abc_jni");
System.loadLibrary("test_demo");
Y desde el logcat vi que ambas bibliotecas usaban la misma dirección de memoria.
Esta es la salida de 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