android ndk开发的两种方式(ndk-build和CMake)
-
CMake是常见的一种开发方式。
谷歌也推崇这种方式。
具体可访问:https://developer.android.google.cn/ndk/samples/sample_hellojni
去GitHub上 下载这块示例:
https://github.com/android/ndk-samples/tree/android-mk/hello-jni
这种方式好处:
kotlin(或Java),C代码(或C++代码),在一个工程里,修改起来比较方便。使用CMake,可以跨平台。
CMake官网:https://cmake.org/
-
ndk-build是比较古老的一种编译方式,从2012年就开始有,存在时间比较长。
这种方式繁琐些,但也有好处。 比如在一个公司里,A部门开发上层APP,B部门开发so文件。 B部门不想分享so代码给A部门。
这时可以用ndk-build方式。 两部门协商好jni接口就可以。
参考这个示例:https://blog.csdn.net/u013045971/article/details/46391635
不过这个示例生成头文件命令错误,应该为
javah -classpath . -jni com.example.myhellojni.MainActivity (注意:中间有个点)
在Android Studio里,打开SDK Manager,选择SDK Tools标签,勾选NDK,安装NDK。 将ndk-build文件夹放在Path环境变量里(Windows电脑),可以在cmd窗口直接输入ndk-build命令。
ndk-build命令编译生成so文件。
Android工程可以引入这个so文件
在build.gradle文件里加入
android {
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
}
2021年3月18日