在Android Studio上编译C++可执行程序

        经常会需要在android上执行自己编写的一些没有UI的命令行测试工具,就要自己手动编译,其实很简单,只要将

管理cpp代码的CMakefile.txt文件,作简单修改即可。

新建NDK工程

        我使用的是最新的 Android Studio 3.3.1版本,新建工程的模板和之前的有些差别,但相信大家应该都能找到,如下

在Android Studio上编译C++可执行程序_第1张图片

给C++源码添加main()入口函数

        由于新建工程默认是让C++源码编译成动态库的,我们要编译成可执行文件,必然要增加一个main入口函数,如下

在Android Studio上编译C++可执行程序_第2张图片

修改CMakefile.txt工程文件

            主要将add_library()方法,替换为

修改前:

在Android Studio上编译C++可执行程序_第3张图片

修改后:

syncbuild,生成可执行文件在如下目录中

在Android Studio上编译C++可执行程序_第4张图片

增加动态库、静态库

        想要链接库,也是修改CMakefile.txt文件,把它当作是普通的cmake工程就可以了,只是在这里能够多一些可使用的变量而已,

在这里,我是这样子改的,

1. 添加 abiFilters 

        由于添加的库可能只支持部分CPU架构的,于是就要把不支持的剔除,在主build.gradledefaultConfig中添加abiFilters 

在Android Studio上编译C++可执行程序_第5张图片

2. 添加jniLibs目录

        在cpp目录所在的目录中添加jniLibs目录,再在里面存放各个cpu架构的库文件

在Android Studio上编译C++可执行程序_第6张图片

3. CMakefile.txt文件中添加库链接

    修改CMakefile.txt文件,如下

在Android Studio上编译C++可执行程序_第7张图片

        最后sync、build即可。

你可能感兴趣的:(android,c&c++)