本系统是CentOS6.3 x86_64,其它linux也可以。
以root登录,其它账户也可,只要有某些目录的读写权限即可。
1、官网下载解包android-ndk-r8d到某目录,终端进入该目录。
2、生成独立工具链
先确定目标android版本,和android api level有如下对应关系:
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
例如我选择android4.0平台就是android-14,也就是支持4.0的android api
本人出于实验性选择4.0,如果平台是2.3选择android-9
低版本android固件无法支持新版本的api。
其次确定安装的目录,比如我装到/usr/local/android-ndk-r8d
终端输入如下:
./build/tools/make-standalone-toolchain.sh --platform=android-14 --install-dir=/usr/local/android-ndk-r8d --toolchain=arm-linux-androideabi-4.7
这样在/usr/local/android-ndk-r8d已经生成好了。大概140M大小。
vi ~/.bash_profile
末尾添加如下并保存:
PATH=/usr/local/android-ndk-r8d/bin:$PATH export PATH
运行arm-linux-androideabi-gcc -v查看,遇到下面问题:
error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
安装libstdc++.so.6
yum install libstdc++.so.6
上边的错误信息消失了,剩下:
/lib/libz.so.1: no version information available
libz..so.1版本太低所致,去http://zlib.net/下载或zlib-1.2.7.tar.gz.(点击下载)
然后先安装32位的glibc再安装zlib:
yum install glibc-devel.i686 export CFLAGS=-m32 tar xvf ./zlib-1.2.7.tar.gz cd zlib-1.2.7 ./configure make make install mv /lib/libz.so.1 /lib/libz.so.1.bak ln -s /usr/local/lib/libz.so.1 /lib/libz.so.1
运行arm-linux-androideabi-gcc -v,警告消失。