在我写这篇文章的时候,Android Studio已经是2.3版本了,已经集成CMake 编译工具,
用户只需在 新建项目的时候,添加选项(Include C++ support),Android Studio就会自动
帮你部署好相应的NDK环境。但我还是想尝试使用 Android.mk 配置文件方式来实现NDK开发,
了解其配置的原理,然后再使用 CMake 来部署,这样能了解两者间的区别。后续的文章就会写
到用CMake来部署NDK环境。
假设你已经安装好了 Android Studio 与NDK 环境。
建议将ndk-build所在目录加入PATH环境变量,以便后续调试。
1、打开 File => Project Structure 如下:
如果选框中为空,说明你没有配置好NDK环境。
2、copy 路径, 然后打开如下 windows 系统下的环境变量
在 Path 变量里添加你的 NDK路径,即上一步copy的内容,记住在路径前添加 ; 分号。
确定之后,就在Windows 命令窗口 输入 ndk-build,得到如下图,说明你配置成功了。
下面我们来新建一个Android项目,实现一个简单的NDK方法。
1、创建一个NDKUtils.Java类, 新建一个 native 方法,
public native String invokeCmethod();
然后在该类 添加如下代码,即载入库的含义:
static {
System.loadLibrary("NDKUtils");//导入生成的链接库文件
}
2、点击 菜单 Build =>Make Project,就会编译项目,然后在
你的项目跟路径 app\build\intermediates\classes\debug\com\magicing\eigenndk
可以看到 NDKUtils.class 文件(com\magicing\eigenndk 是包名,对应你自己的包名)
3、进入Android Studio命令行页面:
如果你没有这个选项,则你从 View菜单栏里 Tool Windows => Terminal 调出该页面。
输入如下命令:
cd app/src/main // 进入该路径
然后执行下面编译命令
javah -d jni -classpath F:\AndroidSDK\platforms\android- 23\android.jar;..\..\build\intermediates\classes\debug com.magicing.ndktest2.NDKUtils
解释(根据自身的情况来设置):
F:\AndroidSDK\platforms\android-23\android.jar; //是你的SDK路径,
..\..\build\intermediates\classes\debug //相对路径,都一样
com.magicing.ndktest2.NDKUtils // NDKUtils 的命名空间
4、当上述的命令执行成功后,在app/src/main 多了一个 jni 文件夹,里面