下面內(nèi)容均是基于Linux下到設(shè)置,如需要在Windows下設(shè)置,可參考關(guān)于Cygwin的使用。
部分轉(zhuǎn)自:http://eshock.blogbus.com/logs/61459223.html
前言
Android系統(tǒng)中的應(yīng)用程序都是用Java開發(fā)的。Android NDK使我們能夠在android上使用C/C++開發(fā)的原生代碼。有兩個理由使用NDK:
一是合理的重用現(xiàn)有的代碼;
二是在程序中某些關(guān)鍵的部分提高執(zhí)行效率。
這里先講幾個符號的約定:
<project> - 你的Android應(yīng)用程序工程的目錄
<ndk> - 你的ndk安裝的目錄
捷徑
這里先扯一句題外話 -- 如果你不需要使用NDK開發(fā),只是需要使用第三方用NDK開發(fā)的庫,那么你只需要這樣做:
把第三方提供的libxxx.so放到你的<project>/libs/armeabi/下, 然后在程序隨便什么地方中加入
Java代碼
static {
System.loadLibray("xxx");
}
就可以使用該庫了。
安裝NDK
NDK的安裝很簡單:
1. 首先要將SDK升級至最新,然后下載ndk(可能要翻下墻,恩恩)將它解壓到某個目錄<ndk>下。
其實(shí),下載地址沒有被和諧,輸入
http://dl.google.com/android/ndk/xxxx.zip是可以直接下載的
用在線代理看下到 http://developer.android.com/sdk/ndk/
最新的版本,例如:

把xxxx替換成圖中的版本號:
http://dl.google.com/android/ndk/android-ndk-r4b-linux-x86.zip
直接下載即可
2. 運(yùn)行: <ndk>/build/host-setup.sh
這步已經(jīng)不必要了
However, this step has been removed in release 4 (a.k.a. r4).
注意,應(yīng)養(yǎng)成讀文檔的習(xí)慣,文檔中往往都對本軟件或者包的使用有詳細(xì)說明。
筆者最初按一本Android的參考書來做,安裝了上面講的一個較老版本,然后需要運(yùn)行 /build/host-setup.sh命令,然后出現(xiàn)過詭異現(xiàn)象,后來Google到方法(http://blog.chinaunix.net/u3/114712/showart_2246264.html),雖然最終解決了,但是還是推薦用新的版本,無論是ndk還是常用的sdk,更新都是比較快的,所以學(xué)習(xí)的時候,多網(wǎng)絡(luò)下,多去官方網(wǎng)站看看,與大牛們多做交流。
3. 把<ndk>加入到環(huán)境變量中,然后到<ndk>/samples/hello-jni/下運(yùn)行ndk-build,看能否生成
libhello-jni.so
關(guān)于環(huán)境變量的設(shè)置
首先通過命令:gedit ~/.bashrc進(jìn)入編輯,在最后一行敲入下面內(nèi)容,其中/usr/local......顯然為sdk或者ndk的安裝路徑,另注意sdk中:usr/lib/eclipse:$PATH 在Linux中,以":"來作為間隔,當(dāng)然也需要你下好eclipse,在Ubuntu中,用軟件中心搜一下就能下到eclipse,然后按照Windows下安裝Android ADT和SDK的方法安裝就行了。
#android sdk
就會發(fā)現(xiàn),進(jìn)入了NDKROOT下設(shè)置的路徑,如此可方便很多,可進(jìn)行推廣應(yīng)用。
部分轉(zhuǎn)自:http://eshock.blogbus.com/logs/61459223.html
前言
Android系統(tǒng)中的應(yīng)用程序都是用Java開發(fā)的。Android NDK使我們能夠在android上使用C/C++開發(fā)的原生代碼。有兩個理由使用NDK:
一是合理的重用現(xiàn)有的代碼;
二是在程序中某些關(guān)鍵的部分提高執(zhí)行效率。
這里先講幾個符號的約定:
<project> - 你的Android應(yīng)用程序工程的目錄
<ndk> - 你的ndk安裝的目錄
捷徑
這里先扯一句題外話 -- 如果你不需要使用NDK開發(fā),只是需要使用第三方用NDK開發(fā)的庫,那么你只需要這樣做:
把第三方提供的libxxx.so放到你的<project>/libs/armeabi/下, 然后在程序隨便什么地方中加入
Java代碼



安裝NDK
NDK的安裝很簡單:
1. 首先要將SDK升級至最新,然后下載ndk(可能要翻下墻,恩恩)將它解壓到某個目錄<ndk>下。
其實(shí),下載地址沒有被和諧,輸入
http://dl.google.com/android/ndk/xxxx.zip是可以直接下載的
用在線代理看下到 http://developer.android.com/sdk/ndk/
最新的版本,例如:

把xxxx替換成圖中的版本號:
http://dl.google.com/android/ndk/android-ndk-r4b-linux-x86.zip
直接下載即可
2. 運(yùn)行: <ndk>/build/host-setup.sh
這步已經(jīng)不必要了
However, this step has been removed in release 4 (a.k.a. r4).
注意,應(yīng)養(yǎng)成讀文檔的習(xí)慣,文檔中往往都對本軟件或者包的使用有詳細(xì)說明。
筆者最初按一本Android的參考書來做,安裝了上面講的一個較老版本,然后需要運(yùn)行 /build/host-setup.sh命令,然后出現(xiàn)過詭異現(xiàn)象,后來Google到方法(http://blog.chinaunix.net/u3/114712/showart_2246264.html),雖然最終解決了,但是還是推薦用新的版本,無論是ndk還是常用的sdk,更新都是比較快的,所以學(xué)習(xí)的時候,多網(wǎng)絡(luò)下,多去官方網(wǎng)站看看,與大牛們多做交流。
3. 把<ndk>加入到環(huán)境變量中,然后到<ndk>/samples/hello-jni/下運(yùn)行ndk-build,看能否生成
libhello-jni.so
關(guān)于環(huán)境變量的設(shè)置
首先通過命令:gedit ~/.bashrc進(jìn)入編輯,在最后一行敲入下面內(nèi)容,其中/usr/local......顯然為sdk或者ndk的安裝路徑,另注意sdk中:usr/lib/eclipse:$PATH 在Linux中,以":"來作為間隔,當(dāng)然也需要你下好eclipse,在Ubuntu中,用軟件中心搜一下就能下到eclipse,然后按照Windows下安裝Android ADT和SDK的方法安裝就行了。
#android sdk
export PATH=/usr/local/android-sdk/tools:usr/lib/eclipse:$PATH
#android ndk
export PATH=$PATH:/usr/local/android-sdk/android-ndk-r4b
NDKROOT=/usr/local/android-sdk/android-ndk-r4b
export NDKROOT
保存退出后,命令: source ~/.bashrc 保存修改(既然在Gedit中保存過了,是否就可以不用了呢,有待驗證)
就會發(fā)現(xiàn),進(jìn)入了NDKROOT下設(shè)置的路徑,如此可方便很多,可進(jìn)行推廣應(yīng)用。
環(huán)境變量的設(shè)置還有其他方法,我們會在后面的文章中轉(zhuǎn)載一些文章做些說明。
4. 如果成功的話就OK了,如果失敗的話檢查一下你是不是下載了正確的ndk版本(例如你的操作系統(tǒng)是linux而下載了windows版的ndk).