我的开发工具是AndroidStudio3.3,AS和Eclipse的c++代码存放位置不同,一个是jni文件夹,一个是cpp文件夹;AS使用的是CMakeList.txt文件 而eclipse里用的是.mk文件,在androidstudio2.2之后,内置了Cmake编译器。
1、首先打开AndroidSDK下载ndk开发所需要的工具。
Android Studio->Preference->System Settings ->Android SDK
工具2、定义native方法,由C/C++实现
native方法3、在main文件夹下新建一个cpp文件夹,在cpp文件夹下新建一个c++文件
src->main->cpp->new->c/c++ source file,然后在这里写你的C++逻辑代码。
创建c++代码4、编写CMakeLists.txt 文件,这个文件很重要。在项目app model根目录下,new -> file->CMakeLists.txt 然后编写这个文件。
cmake_minimum_required():CMake编译本地库所需要的最小版本号。
add_library():
第一个参数:给库起一个名
第二个参数:设置库的类型(share)
第三个参数:就是你本地的C/c++文件的据对路径
find_library(): 命令添加到您的 CMake 构建脚本中以定位 NDK 库,并将其路径存储为一个变量。您可以使用此变量在构建脚本的其他部分引用 NDK 库。
为了确保您的原生库可以在 log 库中调用函数,您需要使用 CMake 构建脚本中的 target_link_libraries() 命令关联库
5、修改gradle文件
修改gradle在android下添加externalNativeBuild,并指定你cmake文件的路径。
defaultConfig下添加externalNativeBuild、ndk,ndk主要是指定编译的cpu架构平台,分为armeabi、armeabi-v7a、arm64-v8a、x86、x86_64等,这里我只指定了armeabi-v7a、arm64-v8a。
6、然后make project,sync gradle。大功告成可以run一下跑个试试看。
网友评论