经常会需要在android上执行自己编写的一些没有UI的命令行测试工具,就要自己手动编译,其实很简单,只要将
管理cpp代码的CMakefile.txt文件,作简单修改即可。
新建NDK工程
我使用的是最新的 Android Studio 3.3.1版本,新建工程的模板和之前的有些差别,但相信大家应该都能找到,如下
给C++源码添加main()入口函数
由于新建工程默认是让C++源码编译成动态库的,我们要编译成可执行文件,必然要增加一个main入口函数,如下
修改CMakefile.txt工程文件
主要将add_library()方法,替换为
修改前:
修改后:
sync、build,生成可执行文件在如下目录中
增加动态库、静态库
想要链接库,也是修改CMakefile.txt文件,把它当作是普通的cmake工程就可以了,只是在这里能够多一些可使用的变量而已,
在这里,我是这样子改的,
1. 添加 abiFilters
由于添加的库可能只支持部分CPU架构的,于是就要把不支持的剔除,在主build.gradle的defaultConfig中添加abiFilters
2. 添加jniLibs目录
在cpp目录所在的目录中添加jniLibs目录,再在里面存放各个cpu架构的库文件
3. CMakefile.txt文件中添加库链接
修改CMakefile.txt文件,如下
最后sync、build即可。