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

猜你喜欢

转载自blog.csdn.net/zhangphil/article/details/130204631