麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 系統 > Android > 正文

android ndk環境搭建詳細步驟

2020-07-14 13:25:47
字體:
來源:轉載
供稿:網友

本文主內容:

1、Android NDK 安裝

2、安裝Cygwin與使用NDK編譯

3、在Eclipse中集成C/C++開發環境CDT

4、安裝Sequoyah插件

5、JNI編譯環境配置

本文建立在已經完成Android開發環境搭建的基礎上。其基礎環境至少需要包含以下內容:

1、JDK

2、Eclipse

3、Android SDK and ADT

可以參考我之前的“Android開發環境搭建”。

一、Android NDK 安裝與配置

下載Android NDK。下載地址:http://developer.android.com/tools/sdk/ndk/index.html

下載后解壓縮到你的工作目錄,例如:D:/Java/android-ndk-r8,結果如下圖:

 

注意:samples下面包含幾個實例開發演示項目,第一次接觸NDK開發,建議先從示例開始。

    docs內是技術文檔,英語能力強的可以研究研究。

二、安裝Cygwin與使用NDK編譯

由于NDK開發大都涉及到C/C++在GCC環境下編譯、運行,所以在Windows環境下,需要用Cygwin模擬Linux編譯環境。

下載:

Cygwin的下載地址:http://www.cygwin.com/

點擊右上角的“setup.exe”即可下載。

安裝:

       第一步:運行setup.exe程序,直接點擊Next進入下一步。

第二步:選擇安裝方式。第一次可以采用Direct Connection在線下載安裝,如有現成的離線包,可以選擇離線安裝(Install from Local Directory)。

第三步:選擇安裝目錄。比如D:/Java/Cygwin,注意此目錄是指Cygwin最終的安裝目錄,不是下載文件暫存目錄。

第四步:設置本地包暫存路徑。暫存目錄默認是放到setup.exe的同級目錄下,建議放到指定的文件夾,如D:/Cygwin_install_file。安裝完成后把這個文件夾打包備份,以后再配置時不用重新下載。

第五步:設置網絡連接方式。這個目前河蟹沒爬過來,選第一個即可。

第六步:選擇下載站點地址。據說國內163站點的速度不錯,我也是用的這個。

第七步:等待加載安裝項載入,選擇安裝項。點擊Devel-Default,使之變成Devel-Install,展開后可以看到其下的子項被選中了(網上多數教程都說選中某12個包,找起來太坑爹了,直接全下載了吧,全選多了150M左右)。此界面其他設置都不用動。

第八步:等待下載完成。下載完成時間決定于你選擇的安裝包數量及網絡連接速度,安裝我安裝的版本,約983M,下載完成后會自動安裝到上文設置的安裝目錄,安裝也要時間的,總時間較長,去吃個飯沒啥問題。

提醒:第四步的備份建議,盡量去做。如果有備份,第二步中選擇離線安裝。

驗證:

運行安裝目錄下的“Cygwin.bat”,第一次運行時,它會自動創建用戶信息,用戶信息存放在“./Cygwin/home”中。

在運行“Cygwin.bat”打開的命令行窗口輸入:“cygcheck -c cygwin”命令,會打印出當前Cygwin的版本和運行狀態,如果status是ok的話,則cygwin運行正常。

分別輸入:“make –v”和,“gcc –v”命令如果檢測成功,會有make和gcc相關版本信息打印出來。

設置NDK路徑:

在windows的系統環境變量中添加NDK的路徑。使用“/cygdrive/d/Java/android-ndk-r8”這種Linux風格路徑,如果使用Windows下的“D:/Java/android-ndk-r8”,Cygwin在編譯時會發出警告。

 

運行Cygwin命令行,可以直接使用此環境變量,當然也可以手動的cd到該目錄:

使用NDK編譯程序:

現在我們用安裝好的NDK來編譯一個NDK提供的sample程序hello-jni(我的目錄位于:D:/Java/android-ndk-r8/samples/hello-jni)。

第一步:運行Cygwin,配置環境變量后可輸入“cd $ndk/samples/hello-jni/”,未配置則輸入命令“cd /cygdrive/d/java/android-ndk-r8/samples/hello-jni”,進入到“hello-jni”工程目錄。

第二步:編譯。輸入命令“$ndk/ndk-build”命令即可編譯。ndk-build是調用ndk的編譯程序。

關于下面的錯誤,我沒遇到,但是前人有總結,記錄如下:

錯誤:Android NDK: Host 'awk' tool is outdated。

解決方法:打開目錄“D:/Java/android-ndk-r8/prebuilt/windows/bin/”,刪除awk.exe(為保險起見請先備份)。

第三步:到”…/hello-jni/libs/armeabi“目錄下看有沒有生成的.so文件,如果有,你的ndk就運行正常啦!

導入NDK的hello-jni示例到Eclipse中:

第一步:在Eclipse中新建一個Android工程HelloJni。在Create Android Project時勾選“Create project from existing source”,Location中填“D:/Java/android-ndk-r8/samples/hello-jni” (注意:在選擇API level時需要選擇1.5或更高的版本)。

第二步:直接以Android Aplication運行。這里要注意,你之前在使用NDK編譯程序時要把這個hello-jni編譯過并產生了.so文件,此處才能運行起來。

三、在Eclipse中集成C/C++開發環境CDT

CDT的安裝可以使我們在一個工程中,同時開發基于C/C++的Native代碼和基于Java語言的殼,之后的配置還可以使得一次編譯兩部分代碼。

下載:

下載地址:http://www.eclipse.org/cdt/downloads.php

說明:

Eclipse C/C++ IDE Indigo SR2:是帶CDT的Eclipse開發環境。

p2 software repository:在線安裝的地址。(似乎被河蟹爬了)

cdt-master-8.0.2.zip:這個是CDT的離線安裝包。(推薦使用這個,保留離線包,復用)

離線安裝:

Eclipse -> Help -> Install New Software,點擊add。Name:隨意,建議使用好記的“CDT_版本”。Location:點擊Archive,定位到下載的“cdt-master-8.0.2.zip”文件。

錯誤:

如果Location的下面出現“Duplicate location”錯誤,請到Window -> preferences -> Install/Update -> Avaliable Software Site中找到該條,remove之。

驗證:

安裝完成后,在Eclispe中新建一個項目,如果出現了C/C++項目,則表明CDT插件安裝成功了。

四、安裝Sequoyah插件

Sequoyah插件用于設置Android工程對Native開發的支持。

官方網址:http://www.eclipse.org/sequoyah/downloads/

在線安裝:

官網提供了用于在線安裝的Update Site地址以及安裝包的下載地址。貌似安裝包才1M多,在線安裝也沒被河蟹爬過,直接在線安裝了。勾選全部列出的可安裝項并完成安裝。

Location:http://download.eclipse.org/sequoyah/updates/2.0/

注意:

在安裝界面不要勾選“Group items by category”復選框,默認是勾選的,出現了列表為空(There are no categorized items)的情況。

配置:

安裝完Sequoyah插件后,為Android配置NDK路徑。

在“window –> preferences ->Android -> 本機開發”中添加NDK的路徑。

驗證:

右鍵之前建立的“HelloJni”項目,在“Android Tools”選項中包含“Add Native Support…”選項即成功。

五、JNI編譯環境配置

仍舊以之前建立的“HelloJni”為例,到目前為止,如果我們修改“/HelloJni/jni/hello-jni.c”文件,動態鏈接庫libhello-jni.so文件卻不會被重新編譯生成。這是因為我們沒有給JNI項目添加它需要的編譯配置和依賴庫。現在我們來配置它。

第一步:轉換工程。點擊“文件 -> 新建 -> 其他”(快捷鍵:Ctrl+N)。選擇“C/C++”下的“Convert to a C/C++ Project(Adds C/C++ Nature)”。進入“下一步”。

第二步:選中你剛才建的“HelloJni”工程,下面左邊選“Makefile project”右邊選“Cygwin GCC”。確定后提示的“透視圖”不清楚是什么,點擊“是”即可。

第三步:在“HelloJni”工程上右鍵,選擇“屬性”。配置“C/C++ Build”和“C/C++ General ->Paths and Symbols”。

C/C++ Build:點擊“C/C++ Build”,在右邊的“Builder Settings”中去掉默認勾選的“Use default build command”復選框。設置Build command為“bash D:/Java/android-ndk-r8/ndk-build”。

C/C++ General ->Paths and Symbols:在Includes下add新的GNU C依賴路徑。此“HelloJni”工程需要“D:/Java/android-ndk-r8/platforms/android-8/arch-arm/usr/include”即可,以后根據不同項目選擇不同的依賴庫。

驗證:

將“/HelloJni/jni/hello-jni.c”中的字符串“Hello from JNI !”如改為“Hello JNI from Baron!”,運行后在模擬器上輸出的字符串改變即說明配置成功。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成人午夜高清 | 日日艹夜夜艹 | 久久中文免费 | 91网站免费观看 | 一级做受毛片免费大片 | 亚洲天堂在线电影 | 一级黄色av电影 | 免费a级网站 | 91香蕉国产亚洲一区二区三区 | 欧美成人国产va精品日本一级 | 国产精品一区免费在线观看 | 男女羞羞视频在线免费观看 | 久久久久久久久久久久免费 | 国产成人在线免费视频 | 黄色一级片免费观看 | 欧美a一| 蜜桃91丨九色丨蝌蚪91桃色 | 美女扒开腿让男生桶爽网站 | 欧洲成人精品 | 国产三级在线观看a | 性爱在线免费视频 | 国外成人在线视频 | 亚洲综合中文 | 国产精品视频亚洲 | 日本黄色免费片 | 久久美女色视频 | 欧美jizzhd极品欧美 | 一区二区三区在线观看国产 | 亚洲看片网 | 免费看欧美黑人毛片 | 免费黄色大片在线观看 | 一级免费大片 | 久久在草| 九九午夜 | 日韩黄色片免费看 | 久久九九热re6这里有精品 | 精品中文字幕久久久久四十五十骆 | 国产午夜精品一区二区三区四区 | 妇女毛片 | 九九精品视频免费 | 欧美性生交xxxxx久久久 |