简介
android一般使用java进行开发,但是有时候我们可能需要使用到native语言,使用C/C++进行编译运行. 现在我们可以搜到很多使用android-studio和NDK进行编译so运行的方式,我就不再赘述了,我们这里主要讲如何利用已经有的NDK工具链,直接进行编译可执行文件和运行的方法
具体方法
系统环境
我使用的kali linux,可以认为是debian 8系统.
如果是windows可以使用cygwin.
编译工具链
如果你有NDK,在/Sdk/ndk-bundle/目录下,那么可以不用下载交叉编译工具链,否则你需要手动安装工具链,网上有很多方法,这里不再赘述. 建议通过android sdk manager下载ndk,这样既可以用于so的编译,也可以提取出具体工具链进行编译.
更改环境变量
如果你的目录比较冗长,那么没有必要每一次都手动去指定工具,我们选择更改环境变量的方式.
在~/.bashrc文件末尾添加:
export SYSROOT="$NDK/platforms/android-24/arch-arm"
export ANDROID_GCC="$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-andro