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
![[架构之路-166]-《软考-系统分析师》-4-据通信与计算机网络-2- 网络体系结构、协议](https://img-blog.csdnimg.cn/17c46587ff584356afa083498a5834c3.png)










![[操作系统安全]SetUID与Capability权能](https://img-blog.csdnimg.cn/65b1e905104b42e7b745590deb6b2298.png)


![[FREERTOS]队列](https://img-blog.csdnimg.cn/485497e8a08b4cec84481370c10faab9.png)




