在Ubuntu下安装Google NDK过程很简单,只需要下载解压、设置环境变量即可,之前一直在Windows平台使用,之所以换到Ubuntu下,一方面是为了统一编译器的版本,二来在Windows(Cygwin)上的编译速度实在太慢,还是原配环境好啊。
一、下载NDK Linux版本
官方地址:https://developer.android.com/tools/sdk/ndk/index.html
最新版本为android-ndk-r8d-linux-x86.tar.bz2
root@ubuntu:~#wget http://dl.google.com/android/ndk/android-ndk-r8d-linux-x86.tar.bz2
二、解压到用户目录
root@ubuntu:~#bzip2 -d android-ndk-r8d-linux-x86.tar.bz2
root@ubuntu:~#tar -xvf android-ndk-r8d-linux-x86.tar
三、配置NDK环境变量
root@ubuntu:~#vi ~/.bashrc
按下小写o键,添加:export NDK_HOME=$HOME/android-ndk-r8d
最后保存退出。执行命令重新加载环境变量:
root@ubuntu:~# source ~/.bashrc
四、NDK编译
进入NDK安装目录下samples/hello-jni,在该目录下执行$NDK_HOME/ndk-build,成功信息如下(参考):
1 | root@ubuntu:~/android-ndk-r8d/samples/hello-jni# $NDK_HOME/ndk-build |
2 | Gdbserver : [arm-linux-androideabi-4.6] libs/armeabi/gdbserver |
3 | Gdbsetup : libs/armeabi/gdb.setup |
4 | Compile thumb : hello-jni <= hello-jni.c |
5 | SharedLibrary : libhello-jni.so |
6 | Install : libhello-jni.so => libs/armeabi/libhello-jni.so |
Error 1:
"prebuilt/linux-x86/bin/make: not found" or
"prebuilt/linux-x86/bin/arm-linux-androideabi-gcc: Command not found"
Try:
sudo apt-get install build-essential
sudo apt-get install libc6-dev-i386 ia32-libs
Error 2:
"prebuilt/linux-x86/bin/arm-linux-androideabi-gcc: Command not found"
Try:
Ubuntu如果使用默认解压管理器解压,则可能报上述错误,因为默认解压管理器未解压符号链接,改用tar去解压即可,示例:
bzip2 -d xxx.tar.bz2
tar -xvf xxx.tar
注意,不要用-zxvf参数。