使用NDK进行JNI编程与实践二:优化Android studio来进行ndk-build开发

一、 引入:
在JNI开发中,使用javah和ndk-build组合来进行JNI开发的过程比较麻烦,这里介绍一下使用高版本的gradle优化JNI开发,我的环境如下:
Android studio:3.5;
gradle:5.4.1;
可在任意工程的File->Project Structure查看:
在这里插入图片描述
二、 优化,引入Link C++ Project With Gradle:

  1. 点击file,选择Link C++ Project With Gradle:
    在这里插入图片描述
  2. 在弹框中选择ndk-build,并在Project Path中选择Android.mk的路径:
    在这里插入图片描述
    配置好了之后,我们就可以直接使用Android studio的Make Project来编译工程了,在编译java文件的过程中也会把jni下面的文件给编译了,不需要我们再通过cmd去执行ndk-build指令来编译so库了,并且,编译完成之后,不会生成libs和obj等文件夹,生成的so会直接打包到apk中当中,非常方便,我们可以在build目录中找到这些库;
    另外一个特点是,打开了这个支持以后,我们能够在进行C/C++代码编写的时候自动提示,非常方便,大大提高了效率:
    在这里插入图片描述
    三、 兼容第三方库:
    我们自己编写的JNI库是可以直接通过这种方式打包到apk中,但是如果遇到需要加载第三方库到apk中是,是否可行呢?经过测试,也只需要在app的build.gradle里面指定libs路径就行了:
   sourceSets {
        main {
            jni.srcDirs = ['src/main/jni', 'src/main/jni/']
            jniLibs.srcDirs = ['libs']
        }
    }

第三方库和自己编写的JNI库完全可以一起编译进apk中,并不冲突。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值