简述
期待已久的android studio 2.2正式版本终于发布了,该版本开始开发 NDK 便简单了很多,比起使用 javac、javah 命令才能完成的方式简直是质的提升,就是本文所讲的 CMake 方式了,Android 对 CMake的说明请戳: CMake API
本次关于 CMake 的内容不做讲解,各位看官可以自行学习,CMake官网
好了~~~下面开始进入今天的主题
1、新建 支持 Ndk 的 Project
Tips: 新建一个支持 "Include C++ Support" 的项目,把 Include C++ Support 前面的选项打上勾,然后一路 Next,直到 Finish 为止。
2、配置 NDK 的支持
Tips: 需要下载好 NDK,然后配置 NDK 所在的路径
3、编译好的项目一览
Tips: 图中红色方框选中的区域为 NDK 的东东
(a). externalNativeBuild ---> cmake 编译好的文件, 显示支持的各种硬件等信息
(b). cpp ---> C 语言程序的逻辑部分, native-lib.cpp 文件名可自行修改
(c). CMakeLists.txt ---> CMake 脚本配置的文件, 具体可查阅 CMake官网的资料
4、Gradle 文件配置 CMake
Tips: 只需要配置这两块即可,是不是特简单呢。当然这里还支持配置更多指令 (非常强大),具体可查阅 CMake 官网
5、MainActivity 部分
Tips: 红色方框中三块即可实现调用 NDK 来实现功能
(a). 使用 native 来定义 NDK 的方法:public native \\\*
(b). 使用 static 语块来引入 so 文件
(c). 调用时,只需要调用定义的 native 的方法即可
6、C/C++ 语法部分
Tips: 方法名的命名根之前方法一样,java\包名\类名\_方法名
7、CMakeLists.txt 部分
Tips: 红色方框部分的名称可以同时更改, 注意两者需要一致, 更改名称后 会在 .externalNativeBuild 目录下生成相应的 so 的名称,Android 部分调用时 static 语块中 引入的 so 文件名也要保持一致
8、手机运行效果
以上只是简单的演示了 <如何创建 CMake 方式实现 Android Studio 2.2 版本 的NDK> 的教程,希望本文可以帮到一些人。
Tips: JNI 类可以单独一个类,不是必须在 MainActivity 类中