利用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
本文介绍如何使用Android源码工具链直接编译C文件。包括设置全局变量、编译命令及参数详解,并针对常见错误给出解决方案。对于已有Makefile的项目也提供了编译指导。
1277

被折叠的 条评论
为什么被折叠?



