Ubuntu下搭建android NDK R7開發環境

來源:互聯網
上載者:User

通過參考網路上的資料,將自己在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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.