您的位置:首页 > 移动开发 > Android开发

Ubuntu下搭建android NDK R7开发环境

2013-01-04 14:52 381 查看



在Ubuntu上面搭建android NDK R7开发环境的过程,经验,以及遇到的问题给记录下来。希望对大家有所帮助。


1. 下载包android-ndk-r7-linux-x86.tar.bz2(然后可以拷贝至你想存放的路径,比如我的路径为:/home/XXX/Android_install)

2. 进入包存放目录(cd /home/XXX/Android_install)进行解压缩,

命令:tar jxvf android-ndk-r7-linux-x86.tar.bz2;解压后名字为android-ndk-r7。

3. 我习惯更改权限,

命令:chmod 777 -R android-ndk-r7

4. 为ndk-build设置环境变量(为了使用方便),修改你的.bashrc 文件

1)打开~/.bashrc文件进行编辑

命令:gedit ~/.bashrc

2)~/.bashrc文件最后添加以下两行文字

export NDK_HOME=/home/XXX/Android_install/android-ndk-r7/

export PATH=$PATH:$NDK_HOME

3) 保存~/.bashrc文件并退出。

5. 让设置立马生效

命令:source ~/.bashrc

6. 测试配置是否OK

命令:ndk-build

执行后打印出信息:

/home/XXX/Android_install/android-ndk-r7/prebuilt/linux-x86/bin/awk: 1: ELF: not found

/home/XXX/Android_install/android-ndk-r7/prebuilt/linux-x86/bin/awk: 4: Syntax error: word unexpected (expecting ")")

Android NDK: Host 'awk' tool is outdated. Please define HOST_AWK to point to Gawk or Nawk !

/home/XXX/Android_install/android-ndk-r7/build/core/init.mk:258: *** Android NDK: Aborting. 。 停止。

只要不提示ndk-build command not found,就说明配置成功。

7. 测试DEMO程序。

命令:ndk-build -C /home/XXX/Android_install/android-ndk-r7/samples/hello-jni/(也可以直接到该目录下,直接执行ndk-build)

问题来了,提示错误:

/home/XXX/Android_install/android-ndk-r7/prebuilt/linux-x86/bin/awk: 1: ELF: not found

/home/XXX/Android_install/android-ndk-r7/prebuilt/linux-x86/bin/awk: 4: Syntax error: word unexpected (expecting ")")

Android NDK: Host 'awk' tool is outdated. Please define HOST_AWK to point to Gawk or Nawk !

/home/XXX/Android_install/android-ndk-r7/build/core/init.mk:258: *** Android NDK: Aborting. 。 停止

在网上搜索了一下,原来是系统是32位的,无法运行64位的程序。于是在网上找了一个解决方法:删除prebuilt下的文件,或者直接删除awk或者对awk重命名。总之,就是不使用这个awk文件。删除或重命名后,NDK就会使用Linux系统自带的awk程序,就没有问题了。

1)cd /home/XXX/Android_install/android-ndk-r7/prebuilt/linux-x86/bin

2) root@XXX:/home/XXX/Android_install/android-ndk-r7/prebuilt/linux-x86/bin# ls

awk make sed

3) root@XXX:/home/XXX/Android_install/android-ndk-r7/prebuilt/linux-x86/bin# mv awk awk_back

4) root@XXX:/home/XXX/Android_install/android-ndk-r7/prebuilt/linux-x86/bin# cd ../../../

5) 执行命令:root@XXX:/home/XXX/Android_install/android-ndk-r7# ndk-build -C samples/hello-jni/

打印信息:

Gdbserver : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver

Gdbsetup : libs/armeabi/gdb.setup

Compile thumb : hello-jni <= hello-jni.c

SharedLibrary : libhello-jni.so

Install : libhello-jni.so => libs/armeabi/libhello-jni.so
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: