版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
最近在学习ndk,踩了不少坑,记录一下
从https://blog.csdn.net/leilifengxingmw/article/details/71598687获得很大的帮助,非常感谢
第一步 新建一个工程JniHelloWorld,然后新建MyJni.java
第二步 点击 make project 会在app的build目录下面生成.class文件
第三步 打开AS的Terminal切换到java目录,然后输入命令:
javac -h jni com\example\wilanzai\jnihelloworld\MyJni.java (网上查了很多用javah,但是我jdk版本为12,没有了javah,改为javac -h 来生成 .h文件)
回车后会在jni文件下生成一个.h文件
在main目录下创建一个jni文件夹,把刚生成的.h文件剪切到这里(为啥我也不知道,网上查有的说因为studio默认的c和c++文件是在这里面,那就照做吧..)
第四步 在jni文件夹下创建c/c++source file,然后实现.h文件中的方法
第五步 在jni文件夹下分别创建Android.mk和Applicaiton.mk文件
Android.mk文件
Application.mk文件
第六步 打开AS的Terminal切换到jni目录,输入ndk-build,生成.so文件
第七步 调用so文件
在app的bulid文件中加入如下代码,然后build project
最后只需要在需要调用的地方调用就好了