Android导入第三方SO库,上层Java调用(1)
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