利用Android源码工具链直接编译c文件
1 将工具链目录添加为全局变量
export PATH=$PATH:/xxx/android/prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7/bin
这是x86的工具链,如果是arm或mips则改为相应的路径
2 编译
i686-linux-android-gcc —sysroot=/xxx/android/prebuilts/ndk/current/platforms/android-18/arch-x86 –o test a.c b.c d.c
sysroot目径是工具链对应的头文件和库的存放地方。
注意,sysroot前面是双短线。
另外,ANDROID新版本,如果有提示这样的错误:
error: only position independent executables (PIE) are supported.
则需要加上选项:-pie -fPIE
i686-linux-android-gcc —sysroot=/xxx/android/prebuilts/ndk/current/platforms/android-18/arch-x86 –o test a.c b.c d.c -pie -fPIE
3 如果是已有Makefile,则命令为
make CC= i686-linux-android-gcc CFLAGS=—sysroot=/xxx/android/prebuilts/ndk/current/platforms/android-18/arch-x86