NKD的配置和编写JNI的步骤

温故而知新可以为师矣

NDK配置:

1、在gradlew的local.properties里面配置NDK的位置,或者在Android Studio设置里面配置。

2、在gradlew的gradle.properties里面的最后一行添加:android.useDeprecatedNdk = true,为了兼容老版本

 

 

JNI的编写步骤:

 

 

 

1、编写一个java文件,里面定义native类型的方法,表示这是要去调用C语言代码对应的方法

2、在main目录里面新建jni.c的文件,然后在.c文件里面写对应的方法,sayHello(JNIEnv* env,jobject jobj)这两个参数是固定的

修改后的截图代码:

3、在项目的gradle文件里面配置nkd的module,moduleName的名字就是第一步的的system.loardLib的名字,

 

 

编译完成后会有.so文件产生

 

 

4、在JNI.java文件里面调用system.loadLib();方法去加载调用.so文件,(即图中的2)

5、在要使用的Java文件里面调用即可使用正常使用jni了

 

注意事项:如果是在Android studio3.0+ 编译的.so文件的话,就不需要将.so文件放入libs相应的目录了,要不然会报错:More than one file was found with OS independent path 'lib/x86_64/libHello.so',有网友说是编译生成apk的时候吧build生成的.so文件自动放进去了,具体什么原理也还没有懂。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值