亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > 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項目添加它需要的編譯配置和依賴庫?,F在我們來配置它。

第一步:轉換工程。點擊“文件 -> 新建 -> 其他”(快捷鍵: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!”,運行后在模擬器上輸出的字符串改變即說明配置成功。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩美女主播视频| 97视频在线免费观看| 91高潮精品免费porn| 欧美黄色www| 中文字幕久久久| 亚洲综合在线中文字幕| 久精品免费视频| 国产欧美精品一区二区| 欧美乱大交做爰xxxⅹ性3| 红桃视频成人在线观看| 国产精品亚洲精品| 日韩精品中文字幕在线| 91九色综合久久| 在线播放国产一区二区三区| 国产成人久久精品| 蜜月aⅴ免费一区二区三区| 欧美高清理论片| 91精品久久久久久久久久另类| 精品久久久久人成| 国产高清在线不卡| 国产精品美女www| 亚洲a区在线视频| 欧美性猛交xxxx免费看久久久| 欧美富婆性猛交| 人妖精品videosex性欧美| 久久久噜久噜久久综合| 黄色91在线观看| 国产成人精彩在线视频九色| 欧美国产精品人人做人人爱| 午夜伦理精品一区| 欧美国产日韩一区二区| 国产精品久久9| 日韩av电影免费观看高清| 96sao精品视频在线观看| 亚洲美女免费精品视频在线观看| 欧美日韩在线视频一区二区| 欧美激情精品久久久久| 中文字幕日韩av综合精品| 日韩av三级在线观看| 2020国产精品视频| 亚洲国产成人久久综合一区| 欧美激情伊人电影| 在线免费看av不卡| 91美女片黄在线观看游戏| 国产成人aa精品一区在线播放| 自拍视频国产精品| 国产日韩欧美视频| 国产精品久久久一区| 91精品久久久久久久久久久久久| 国产精品入口日韩视频大尺度| 亚洲美女精品成人在线视频| 欧美性猛交xxxxx水多| 欧美精品激情在线观看| 久久久之久亚州精品露出| 欧美激情精品久久久久久蜜臀| 91精品国产综合久久香蕉922| 一本色道久久88综合日韩精品| 亚洲第一免费播放区| 中国日韩欧美久久久久久久久| 久久久噜噜噜久久中文字免| 亚洲香蕉伊综合在人在线视看| 日韩美女福利视频| 国产精品久久久久久影视| 欧美华人在线视频| 亚洲成年网站在线观看| 日韩欧美在线字幕| 91精品综合久久久久久五月天| 欧美国产激情18| 92国产精品久久久久首页| 亚洲国产一区二区三区四区| 97免费视频在线播放| 国产欧美 在线欧美| 日韩69视频在线观看| 性色av一区二区咪爱| 宅男66日本亚洲欧美视频| 久久久成人的性感天堂| 成人中文字幕+乱码+中文字幕| 久久精品国产一区二区电影| 亚洲理论片在线观看| 欧美大片欧美激情性色a∨久久| 亚洲国产精品视频在线观看| 亚洲国产另类久久精品| 欧美日韩日本国产| 日本午夜精品理论片a级appf发布| 精品毛片三在线观看| 伊人激情综合网| 亚洲男人的天堂在线| 国产成+人+综合+亚洲欧洲| 久久综合免费视频| 98午夜经典影视| 国产精品看片资源| 97国产在线观看| 成人黄色在线观看| 欧美一区二区.| 国产视频久久久| 日韩av中文字幕在线播放| 欧美黄网免费在线观看| 国产欧美日韩免费看aⅴ视频| 亲爱的老师9免费观看全集电视剧| 欧美成年人视频网站欧美| 91综合免费在线| 正在播放欧美视频| 欧美第一页在线| 欧美性在线观看| 91欧美视频网站| 国产视频在线观看一区二区| 91美女福利视频高清| 日韩av电影国产| 国产一区二区三区四区福利| 欧美视频在线视频| 成人久久久久久| 97超级碰碰碰| 日本午夜精品理论片a级appf发布| www.国产精品一二区| 91国自产精品中文字幕亚洲| 97精品欧美一区二区三区| 日本一区二区不卡| 亚洲精品自拍视频| 欧美激情精品久久久久久变态| 国产精品高清免费在线观看| 久久久国产影院| 国产精品极品尤物在线观看| 欧美黄色片免费观看| 国产日韩欧美综合| 精品国产91久久久| 日产日韩在线亚洲欧美| 亚洲欧洲一区二区三区在线观看| 国产欧美精品一区二区三区-老狼| 亚洲第一精品久久忘忧草社区| 在线观看日韩欧美| 亚洲电影免费在线观看| 久久精彩免费视频| 精品女厕一区二区三区| 少妇高潮 亚洲精品| 国产精品女人网站| 午夜精品福利视频| 68精品久久久久久欧美| 国产欧美精品日韩精品| 97碰碰碰免费色视频| 亚洲自拍欧美另类| 欧美亚洲免费电影| 国产亚洲欧美另类中文| 欧美大学生性色视频| 欧美与欧洲交xxxx免费观看| 亚洲无亚洲人成网站77777| 亚洲欧洲日产国产网站| 中文字幕日韩av| 一区二区亚洲精品国产| 欧美激情精品久久久久久免费印度| 久久精品夜夜夜夜夜久久| 久久综合久久八八| 51午夜精品视频| 久久99精品久久久久久琪琪| 久久久噜噜噜久久中文字免| 性日韩欧美在线视频| 亚洲a在线观看| 欧美日韩人人澡狠狠躁视频| 日韩av在线免费观看一区| 欧美精品成人91久久久久久久| 国产精品综合久久久| 久久久国产视频| 91精品国产乱码久久久久久蜜臀| 亚洲伊人一本大道中文字幕| 91av网站在线播放|