原文出处: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')
}
}
3. 使用现有android studio工程链接C++工程
当一个普通的不带C++本地库支持的项目需要引入一个现有的c++本地库时,可以使用android studio的Link C++ Psroject with Gradle功能来导入一个本地C++库,导入的库需要提供可用的cmake配置文件或Android.mk配置文件,导入工作是通过加载这些本地库编译配置文件来完成的。



本文详细介绍了Android JNI开发的环境搭建,包括Android SDK、NDK、CMake和Android Studio的配置。从创建本地C++工程、使用现有工程链接C++库,到配置javah工具,以及在Android Studio中配置C++运行时和原生库支持,为开发者提供了全面的指南。同时,文章还讨论了C++异常和RTTI的启用方法。
最低0.47元/天 解锁文章
1175

被折叠的 条评论
为什么被折叠?



