当前位置: 代码迷 >> Android >> android下调用so文件,该怎么解决
  详细解决方案

android下调用so文件,该怎么解决

热度:44   发布时间:2016-04-28 06:53:42.0
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
  相关解决方案