Android导入第三方SO库,上层Java调用(1)
(1)在module的build.gradle文件的android块中配置sourceSet:
sourceSets {
main {
jniLibs.srcDir 'libs'
}
}
(2)在module的路径下,比如app\下,如果有app\libs目录,不需新建,如果没有,在app\下,新建libs,形成\app\libs目录。
(3)把第三方的.so库文件放到\app\libs下。需要注意的,现在一般是64位的so库,如果app\libs下没有\arm64-v8a文件夹,需要新建arm64-v8a目录文件,然后把64位的so库放到
app\libs\arm64-v8a下。
(4)上层Java调用:
这里需要特别注意放入到app\libs\arm64-v8a里面的.so文件名称和上层Java代码里面 System.loadLibrary 加载时候的名称对应问题,假设so文件位于:
app\libs\arm64-v8a\libf1.so
app\libs\arm64-v8a\libf2.so
那么,上层Java调用时候需要这么写:
static {
System.loadLibrary("f1");
System.loadLibrary("f2");
}
app\libs\arm64-v8a\下面的libxxxxx.so文件名,到了java层调用时候,把 lib 和 文件后缀名.so去掉不带。
Android NDK(JNI)开发_ndk-r10e 版本对应什么sdk_zhangphil的博客-CSDN博客《基于Windows平台,Android NDK(JNI)开发技术》【摘要】本文介绍如何基于Windows平台,在Eclipse中使用Android NDK技术实现“Android平台上的JNI ( Java Native Interface ) ”开发。Android NDK开发需要一定的Java JNI技术基础。Android NDK实质,可以简单的认为是Android平台https://blog.csdn.net/zhangphil/article/details/46812723