读书人

android下调用so资料

发布时间: 2013-09-29 11:07:08 作者: rapoo

android下调用so文件
1.能不能动态加载so文件(即so文件没有放在lib目录下,而是在sd内),如果可以,怎么调用其中的函数?该so文件是专为android编译的。

2.如果上述功能不能实现,可不可以在程序中做个初始化功能,让android系统本身去加载so文件,然后调用

3.针对动态调用so文件,即so文件没有被打包在程序内的情况下,有么有其他解决办法?

请详细说明或者给出链接,谢谢了,学习android时间不长,ndk更是还没用过。


[解决办法]
jni

System. loadLibrary加载,jvm会自己做判断,dll还是so文件


[解决办法]
楼主的问题。我觉得,可能是不行的。
[解决办法]
可不可以在程序中做个初始化功能
[解决办法]
尝试一下:
System.loadlibrary("/mnt/sdcard/folder/name.so")
或者
System.loadlibrary("/mnt/sdcard/folder/libname.so")
如果不行的话,可以告知JVM你的so所在路径, PathClassLoader会从两个地方加载so,一个路径是固定的,可能是:
lib/<something>/lib<name>.so,另一个路径在系统属性中定义的,它的key是java.library.path

读书人网 >Android

热点推荐