【Android學習專題】搭建Android NDK環境

來源:互聯網
上載者:User
文章目錄
  • 1 一些下載
  • 2 cygwin安裝
  • 3 cygwin環境驗證
  • 4 配置NDK路徑
  • 5 編譯工程產生.so檔案
  • 6 在eclipse中整合c/c++開發環境(備選)
  • 7 配置C/C++的編譯器
  • 。。。
  • 8 常見錯誤及解決方案
【Android學習專題】搭建Android NDK環境 SkySeraph Feb 16th 2012  SZTCL

Email:zgzhaobo@gmail.com    QQ:452728574

NDK:Native Development Kit

【Android學習專題】搭建Android開發環境 

Windows XP環境下1 一些下載

NDK r7:http://developer.android.com/sdk/ndk/index.html
cygwin:http://www.cygwin.com/  (1.7.11-1)
notepad++:http://notepad-plus-plus.org/download/v5.9.8.html

2 cygwin安裝

運行下載的setup.exe,點Next
選擇安裝方式。選擇線上安裝,如果有現成離線包時,可選擇離線安裝
選擇安裝目錄(Cygwin最終的安裝目錄)
設定當地套件暫存路徑(下載檔案存放目錄)
設定網路連接方式:預設直接連接
選擇下載網站。這個速度比較快http://mirrors.163.com
選擇安裝項。在預設設定下,只需選擇Devel(點擊列表中Devel,將後面的Default改為Install),其它均為預設狀態。
  註:binutils、gcc、gcc-mingw、gdb、make等必裝,詳見Refs-5
漫長等待,直到下載完成
  註:下載完後的包可以備份下,以便以後可以直接離線安裝,速度快哦!
為系統添加環境變數(系統屬性->環境變數->Path),如我的為C:/cygwin/bin

3 cygwin環境驗證

運行Cygwin一次(Cygwin.bat),以便建立一些使用者環境檔案
檢測
cygwin的版本:cygcheck -c cygwin
gcc的版本:gcc --version
g++的版本:g++ --version
make的版本:make --version
gdb的版本:gdb --version
結果如:

4 配置NDK路徑

將下載的NDK解壓縮到某個目錄
zai cygwin的 home\<你的使用者名稱>\.bash_profile 檔案中最後添加:(可用notepad++或者UltraEdit開啟)
  NDK=/cygdrive/<你的盤符>/<android ndk 目錄> export NDK,
  如我的為 NDK=/cygdrive/C/Android/android-ndk-r7 export NDK
  註:"NDK"這個名字隨便起,以後經常用別太長
驗證
重啟cygwin,輸入:cd $NDK
可進入ndk對應目錄說明設定OK。

5 編譯工程產生.so檔案

方式一:
在cygwin命令列下編譯,編譯過程如所示,三步驟

進入android項目工作目錄:cd $NDK
依次進入samples\hello-jni目錄,完整路徑為C:\Android\android-ndk-r7\samples\hello-jni
運行:$NDK/ndk-build。
注意:該命令$NDK和/ndk-build是串連到一起的,中間沒有空格,實際使用時是打入完整的$NDK/ndk-build,不要只打ndk-build

方式二:
在步驟4提到的.bash_profile 檔案中,加入jni=/cygdrive/jni的目錄
如我的可以為 jni=/cygdrive/C/Android/android-ndk-r7/samples/hello-jni
cd $NDK
cd $jni

正常編譯編譯後產生兩個檔案,如,在項目libs/armeabi目錄下產生對應的.so檔案。

6 在eclipse中整合c/c++開發環境(備選)

官網: http://www.eclipse.org/cdt/downloads.php
方式一:在官網找到與你的Eclipse版本匹配的CDT外掛程式的線上安裝地址,然後在Eclipse的Install New Software安裝
方式二:在官網下載與你的Eclipse版本匹配的CDT安裝包,解壓縮後把plugins和feagures 複製覆蓋到eclipse檔案夾下即可

7 配置C/C++的編譯器。。。8 常見錯誤及解決方案

問題:Android NDK: Host 'awk' tool is outdated,如所示錯誤,本人遇到的問題

解決:刪除awk執行檔案
參考: http://sunting-bcwl.iteye.com/blog/1278574
          http://maidini.blog.163.com/blog/static/3776270420111195059911/ 
錯將Cygwin Terminal 當作 Cygwin.bat,這個問題困擾了我將近一個小時啊!!!
其它網上問題 http://bbs.chinavideo.org/viewthread.php?tid=10821&extra=page%3D2
 

Ubuntu11.10環境下(待更新...)


Refs

1 http://blog.csdn.net/javatiger427/article/details/6115693
2 http://maidini.blog.163.com/blog/static/3776270420111194440211/
3 http://www.cnblogs.com/luxiaofeng54/archive/2011/08/13/2136982.html
4 http://www.metsky.com/archives/525.html
5 http://www.cnblogs.com/playing/archive/2011/07/14/2106727.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.