android ndk+jni:android.mk和application.mk写法

1、为什么会用NDK
1. 代码的保护,由于apk的java层代码很容易被反编译,而C/C++库反编译难度较大;

2. 在NDK中调用第三方C/C++库,因为大部分的开源库都是用C/C++代码编写的;

3. 便于移植,用C/C++写的库可以很方便在其它的嵌入式平台上再次使用。

参考:https://blog.csdn.net/yaonai2003/article/details/42036861

配置NDK
参考我的另一篇:https://blog.csdn.net/u010326875/article/details/82982096

Application.mk怎么来的,自己在jni下创建

2、Application.mk用来描述你的工程下的native模块, 一般放在$PROJECT/jni/Application.mk, 其中$PROJECT表示你的工程目录,这样就可以被ndk-build脚本文件找到.
(注:在这种方式下,进入jni目录,即$PROJECT/jni/,然后执行ndk-build,就可以直接编译jni生成.so文件了)
android ndk+jni:android.mk和application.mk写法_第1张图片
3、Application.mk和Android.mk文件编码:
android ndk+jni:android.mk和application.mk写法_第2张图片
android ndk+jni:android.mk和application.mk写法_第3张图片
4、进入Terminal输入ndk-build报错,未找到该命令
android ndk+jni:android.mk和application.mk写法_第4张图片
解决:设置ndk环境变量,(重启即可重试)
android ndk+jni:android.mk和application.mk写法_第5张图片
5、成功后,在jni同级看到多出两个目录,libs、obj 看到有对应的.so文件

android ndk+jni:android.mk和application.mk写法_第6张图片

你可能感兴趣的:(android)