一、首先解压到你指定的目录
zhangkai@zhangkai-K45VM:~$ bzip2 -d android-ndk-r8e-linux-x86_64.tar.bz2
zhangkai@zhangkai-K45VM:~$ tar -xvf android-ndk-r8e-linux-x86_64.tar
二、然后配置NDK的环境变量
zhangkai@zhangkai-K45VM:~$vi ~/.bashrc
添加:export NDK_HOME=/opt/android-ndk-r8e
然后保存退出,执行命令重新加载环境变量
zhangkai@zhangkai-K45VM:~$source ~/.bashrc
三、编译hello
进入NDK安装目录下samples/hello-jni,在该目录下执行$NDK_HOME/ndk-build,成功信息如下
zhangkai@zhangkai-K45VM:/opt/android-ndk-r8e/samples/hello-jni$ $NDK_HOME/ndk-build
Gdbserver : [arm-linux-androideabi-4.6] libs/armeabi/gdbserver
Gdbsetup : libs/armeabi/gdb.setup
Install : libhello-jni.so => libs/armeabi/libhello-jni.so
此处借用其他文章的两个Error:
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参数。
四、绑定eclipse
1、在相应工程根目录下新建jni文件夹,将samples/hello-jni/jni/Android.mk及相应的c文件放入jni文件夹中。并打开Android.mk将其中的LOCAL_MODULE修改为工程名称,LOCAL_SRC_FILES修改为相应的c文件
LOCAL_MODULE := aiyouwei
LOCAL_SRC_FILES := hello-jni.c
2、关联工程配置,对工程点右键,Properties-Builders,点击New,写上期望的名称,Main下的Location里选择ndk-build文件路径,Working Directory选择到工作区的指定的jni目录,如图
选择Refresh,勾选上如图选项
,点击Specify Resources,然后选择本工程的jni文件夹位置
选择Build Options,如图勾选,选择Specify Resources指定为相应的jni文件夹,点击ok即可。
然后对工程进行编译,快捷键Ctrl+B,此时刷新libs文件夹,便可以看到编译好的so文件。