原文出处:http://www.ccbu.cc/index.php/android/android-jni-dev-env.html
工欲善其事,必先利其器
。
1. 开发环境准备
搭建开发环境是我们进行开发前首先要完成的任务,进行Android jni开发,依赖的基本开发环境包括:
- Android sdk
- android ndk
- cmake
- android studio
Android studio的sdk manager已经包括了上面所说的sdk,ndk,cmake等工具的安装,所以一般只用下载android studio,然后再使用sdk manager工具下载这些工具就可以了。
默认情况下,Android studio使用的编译工具是cmake,但很多沿用的项目都是使用NDK的ndk-build工具来编译的,所以android studio也支持ndk-build。
2. 使用android studio创建本地C++工程
1.新建工程, 在向导的 Choose your project 部分中,选择Natvie C++
项目类型 。
2.在设置工程名,包名,保存路径和语言,此处我们选择Java语言。
3.在向导的 Customize C++ Support 部分中,可以选则C++ Toolchain
,一般情况下,选择默认就可以,如果开发中需要用到C++11,或者c++14等一些较高级的C++标准的特性时,可以选择对应的Toolchain
。
4.点击finish,开始构建工程,工程构建完成以后,整个项目及其gradle配置文件如下:
默认情况下,Android studio使用cmake编译链工具,通过gradle脚本进行配置,默认cmake配置如下:
externalNativeBuild {
cmake {
path "src/main/cpp/CMakeLists.txt"
version "3.10.2"
}
}
cmake文件和c++源代码都在src/main/cpp/
目录下。
Android studio也支持ndk-buid
,根据实际需求,我们也可以配置为ndk-build
,当然,这需要我们先写好对应的Android.mk
和Appplication.mk(可选)
配置文件,然后通过修改gradle
配置中的externalNativeBuild
配置项来进行更改。配置为nkd-build编译工具,则其配置文件如下:
externalNativeBuild {
ndkBuild {
path file('src/main/cpp/Android.mk')
}