最近在搞dlib开发,由于能力有限,没能自己通过NDK移植dlib编译出.so动态链接库,所以就自己另找出路了。
在各大论坛中,一位大神经过我三顾茅庐的请求,他给我提供了其.so文件和相关的jni接口文件,那么我就可以通过jni来调用我的封装好的dlib 的.so文件。
但是问题来了,我要使用.so文件,我就需要system.loadLibra()。于是我就通过度娘找到一些相关Android调用动态链接库资料,有Android studio 和 eclipse 的(博主使用的eclipse的)的一些方法。
Android studio的:
第一步,我们将相关的so文件,复制到libs文件里。
第二步,修改,我们app下面的build.gradle文件,即可。
sourceSets{
main{
jniLibs.srcDirs = ['libs']
}
}
第三步,在工程里 system.loadLibra 就可以了
eclipse 的就更简单 了:
直接把.so文件复制到lib 目录下,再在工程里system.loadLibra就可以了.
重点来了如果我是使用别人同NDK编译好的.so文件,并且提供我使用的JNI接口的话,上述的两个就有点不可用,其system.loadLibra会