Android ndk 開發環境搭建

來源:互聯網
上載者:User

Android系統中的應用程式都是用Java開發的。Android NDK使我們能夠在android上使用C/C++開發的原生代碼。

有兩個理由使用NDK: 一是合理的重用現有的代碼;二是在程式中某些關鍵的部分提高執行效率。

使用Android NDK開發,除了普通Android開發環境外,還需要下載NDK包 和 安裝Cygwin工具(windows環境下需要)。

Cygwin

Cygwin 是 Windows 上類似於 Linux 的環境。它包括一個提供 UNIX 功能性基本子集的 DLL 以及在這之上的一組工具。(所以在linux下不需要使用)

安裝Cygwin的步驟如下:

1.下載setup.exe

到官網www.cygwin.com 在螢幕的中央是一個黑綠兩色組成的 “C” 徽標,標題是“Install or update now.”。在該連結上點擊,這將下載一個小程式 setup.exe(250KB)。這個安裝程式將在您的機器上引導 Cygwin 環境的安裝或更新過程。 

2.運行setup.exe,進行安裝,如:
圖 1. Cygwin 環境的安裝嚮導

點擊 Next按鈕。 
選擇下載位置
在這個頁面上,選擇"Install from Internet"。

圖 2. 選擇安裝類型

一直點擊 Next按鈕,一直到出現介面:


選擇一個下載網站。因為這些網站是義務的鏡像,所以選擇一個下載點有點風險(通常它們是可用的,但有時不可用)。通常,試試離你比較近的那個網站。(有一個http://mirrors.163.com最快)

點擊 Next按鈕。 
選擇包進行安裝
在這個頁面上,您將選擇要安裝的包。預設情況下,Cygwin 基本包將不安裝 GCC,因此,您必須修改預設設定。
將滑鼠移動到 Devel邊的加號(+)上,然後點擊它展開 Devel類。

這一步,我們選擇需要下載安裝的組件包,為了使我們安裝的Cygwin能夠編譯器,我們需要安裝gcc編譯器,預設情況下,gcc並不會被安裝,我們需要選中它來安裝。為了安裝gcc,我們用滑鼠點開組件列表中的“Devel”分支,在該分支下,有很多組件,我們必須的是:

binutils 
gcc 
gcc-mingw 
gdb

make

滑鼠點擊組件前面的迴圈按鈕,會出現組建的版本日期,我們選擇最新的版本安裝,是選中後的四類組件的:


binutils組件

gcc組件

gcc-mingw組件

gdb組件

還有make組件

選完以後,我們選擇下一步,進入安裝過程,如所示,

一直到下載完成,就ok了!

3.測試是否安裝成功

運行cygwin,輸入make -v 和 gcc -v 如果能找的,則表示安裝成功。

安裝NDK

安裝ndk很簡單,只需要把下載的ndk檔案解壓縮到指定的目錄即可。

配置NDk

修改Cygwin目錄/home/username 下的.bash_profile檔案,在檔案末尾加入如下代碼:

NDKROOT=/cygdrive/ndk檔案的路徑(如NDKROOT=/cygdrive/d/android/ndk)
export NDKROOT

(注意:NDKROOT名字可以自己,ndk檔案路徑是你 解壓縮後ndk的路徑,特別注意將斜杠換成反斜線 和 去掉d:中的:(windows和linux路徑區別問題))

相關文章

聯繫我們

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