因为不了解,做个备份。希望以后通过学习能够明白。
在开发过程中,遇到这样的问题。使用第三方提供的so动态库,去实现jni。
结果放到系统之后,出现
E/dalvikvm( 1986): dlopen("/system/lib/libadvcactit_jni.so") failed: Cannot load library: soinfo_link_image(linker.cpp:1635): could not load library "/home/AdvcaCtit_925/obj/local/armeabi/libdrmclient.so" needed by "libadvcactit_jni.so"; caused by load_library(linker.cpp:745): library "/home/AdvcaCtit_925/obj/local/armeabi/libdrmclient.so" not found
这个路径是ndk编译jni文件的路径。
找不到动态库。
使用ndk编译,会在目录下生成\libs\armeabi 以及objs文件夹,里面都包含动态库。大小和第三方提供的不同。我们使用的是\libs\armeabi路径下的。
在找不到的路径下,提供了第三方库,这样程序能够使用第三方库了,能够正常工作。
一般情况下,android上面的库都是push到 /system/lib目录下,现在push到lib下不能够找到。貌似和编译的时候设置的东西有关。但是看android.mk没有发现路径的地方啊。