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

Ubuntu下构建android NDK R7开发环境

2012-03-13 10:12 519 查看
 

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息