1、 工具包准备
1】、NDK版本:android-ndk-r13b
2】、GDB版本:http://ftp.gnu.org/gnu/gdb/gdb-7.11.tar.xz
小编环境:macOS,其他平台类似
2、搭建环境
说明:后续命令中若出现 YOUR_PATH 均指你个人目录,例如:/home/android/android-ndk-r12b-bin
1】、下载NDK,配置环境
执行命令:
android-ndk-r13b/build/tools/make-standalone-toolchain.sh --platform=android-23 --arch=arm64 --install-dir=YOUR_PATH
2】、搭建交叉编译环境
export PATH=YOUR_PATH/bin:$PATHexport CC="aarch64-linux-android-gcc -pie -fPIE --sysroot=YOUR_PATH/sysroot"export CXX="aarch64-linux-android-g++ -pie -fPIE --sysroot=YOUR_PATH/sysroot"export CXXFLAGS="-lstdc++"
备注:
可以将 环境搭建 作为一个方法写入bashrc中。
添加 pie 的原因:android 在新版本上开启了PIE这个安全机制,如果不添加此参数,
编译后放到手机中运行报错:
error: only position independent executables (PIE) are supported.
在mk 中修改为:
LOCAL_CFLAGS += -pie -fPIE
LOCAL_LDFLAGS += -pie -fPIE