1. 下载Android NDK
http://developer.android.com/sdk/ndk/index.html
我这边选择下载Linux 64-bit(x86),android-ndk-r9d-linux-x86_64.tar.bz2。
2.解压android-ndk-r9d-linux-x86_64.tar.bz2到任意路径
3.生成toolchain的文档可以参考docs/STANDALONE-TOOLCHAIN.html,
3.1
查看android-ndk-r9d支持的API
从docs/STABLE-APIS.html可以看到如下,因为我们现在的平台android版本是4.2所以选择android-17。也可以从platforms/下去查看支持API版本
android-3 -> Official Android 1.5 system images
android-4 -> Official Android 1.6 system images
android-5 -> Official Android 2.0 system images
android-6 -> Official Android 2.0.1 system images
android-7 -> Official Android 2.1 system images
android-8 -> Official Android 2.2 system images
android-9 -> Official Android 2.3 system images
android-14 -> Official Android 4.0 system images
android-18 -> Official Android 4.3 system images
3.2 设置
SYSROOT环境变量
比如我解压的路径为/home/xxxx/project/test/ndk/android-ndk-r9d
那么设置SYSROOT=
/home/xxxx/project/test/ndk/android-ndk-r9d
/platforms/android-17/arch-arm
3.3 生成toolchain
首先在android-ndk-r9d里新建生成toolchain的文件夹,mkdir tmp/android-17-toolchain
运行如下命令:
/home/xxxx/project/test/ndk/android-ndk-r9d/
build/tools/make-standalone-toolchain.sh --platform=android-17 --install-dir=/home/xxxx/project/test/ndk/android-ndk-r9d/tmp/android-17-toolchain
这样就在android-17-toolchain下生成交叉编译工具。
4.配置交叉编译工具环境变量
我把android-17-toolchain放在/home/xxxx/document下
sudo gedit ~/.bashrc
在最后添加如下命令
export PATH=$PATH:/home/xxxx/document/android-17-toolchain/bin
source ~/.bashrc
5.测试环境变量设置是否生效
arm-linux-androideabi-gcc -v
最后有获取到gcc version 4.6 20120106 (prerelease) (GCC)就可以了
6.编译c程序
arm-linux-androideabi-gcc -o main main.c
下面链接是基于android API 17做的交叉编译工具
http://download.csdn.net/detail/chelseablue1905/7067193