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

首頁 > 學院 > 編程設計 > 正文

android ndk環境搭建詳細步驟

2020-06-27 15:20:21
字體:
來源:轉載
供稿:網友

本文主內容:

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,結果如下圖:

android,ndk環境搭建

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

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

二、安裝Cygwin與使用NDK編譯

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

下載:

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

android,ndk環境搭建

點擊右上角的“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左右)。此界面其他設置都不用動。

android,ndk環境搭建

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

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

驗證:

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

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

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

android,ndk環境搭建

設置NDK路徑:

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

android,ndk環境搭建

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

android,ndk環境搭建

使用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”工程目錄。

android,ndk環境搭建

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

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

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

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

android,ndk環境搭建

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

android,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文件,此處才能運行起來。

android,ndk環境搭建

三、在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的離線安裝包。(推薦使用這個,保留離線包,復用)

android,ndk環境搭建

離線安裝:

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插件安裝成功了。

android,ndk環境搭建

四、安裝Sequoyah插件

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

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

在線安裝:

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

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

android,ndk環境搭建

注意:

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

android,ndk環境搭建

配置:

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

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

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)”。進入“下一步”。

android,ndk環境搭建

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

android,ndk環境搭建

第三步:在“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”。

android,ndk環境搭建

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

android,ndk環境搭建

驗證:

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

android,ndk環境搭建


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品91在线观看| 亚洲天堂av女优| 亚洲最大的av网站| 日本成人免费在线| 欧美日韩在线视频观看| 欧美高清一级大片| 6080yy精品一区二区三区| 亚洲淫片在线视频| 国产精品极品美女在线观看免费| 国产午夜精品麻豆| 亚洲18私人小影院| 日韩精品高清在线观看| 日日狠狠久久偷偷四色综合免费| 国产成一区二区| 欧美电影免费观看高清完整| 97国产一区二区精品久久呦| 夜夜躁日日躁狠狠久久88av| 国产精品高潮呻吟久久av无限| 久久久中文字幕| 精品久久久久久久久久久久久久| 欧洲精品毛片网站| 久久久久久久久久国产| 亚洲一区第一页| 欧美二区在线播放| 日韩在线观看免费| 91精品视频网站| 久久国产精品久久久| 中文字幕一精品亚洲无线一区| 欧美做受高潮电影o| 午夜精品福利电影| 国产精品18久久久久久首页狼| 欧美日韩一区二区三区在线免费观看| 亚洲级视频在线观看免费1级| 国产精品99久久久久久白浆小说| 国产视频精品一区二区三区| 久久亚洲国产精品成人av秋霞| 亚洲精品久久久久国产| 亚洲午夜未删减在线观看| 91久久国产精品| 日韩久久免费视频| 最好看的2019年中文视频| 欧美激情三级免费| 日韩在线免费高清视频| 久久久久久久影院| 成人黄在线观看| 美日韩丰满少妇在线观看| 91久久精品国产91久久| 成人久久一区二区| 中文字幕日韩av| 欧美一级大片视频| 91国产美女视频| 色先锋资源久久综合5566| 不卡av电影在线观看| 亚洲欧美制服第一页| 亚洲乱码国产乱码精品精| 日韩在线www| 日韩欧美亚洲范冰冰与中字| 久久精品视频免费播放| 91久久久国产精品| 在线亚洲男人天堂| 欧美日韩免费区域视频在线观看| 久久久精品亚洲| 欧美成人精品不卡视频在线观看| 国产精品美女在线观看| 136fldh精品导航福利| 免费99精品国产自在在线| 91成人天堂久久成人| 91国产视频在线| 久久这里有精品| 日本国产高清不卡| 中文欧美日本在线资源| 成人网在线免费观看| 国产精品视频不卡| 欧美日韩一区二区三区| 国产精品久久久久福利| 一区二区三区亚洲| 久久影视电视剧免费网站清宫辞电视| 亚洲精品成人久久久| 亚洲区免费影片| 日韩欧中文字幕| 精品色蜜蜜精品视频在线观看| 欧美日韩aaaa| 538国产精品视频一区二区| 久久乐国产精品| 国产亚洲欧洲高清| 成人春色激情网| xx视频.9999.com| 亚洲人成77777在线观看网| 欧美性xxxx极品hd欧美风情| 亚洲aaaaaa| 亚洲免费小视频| 亚洲欧洲黄色网| 欧美劲爆第一页| 性欧美xxxx交| 久久亚洲精品成人| 91精品免费视频| 亚洲伊人一本大道中文字幕| 综合av色偷偷网| 一区二区三区动漫| 亚洲大胆人体av| 国产91|九色| 亚洲 日韩 国产第一| 久久久女女女女999久久| 日韩在线播放视频| 日韩精品免费综合视频在线播放| 国产精品三级网站| 欧美激情视频网| 精品久久久在线观看| 亚洲美女在线视频| 欧美精品九九久久| 亚洲图片欧美日产| 日韩av一区在线| 91亚洲人电影| 日韩欧美视频一区二区三区| 精品久久久久久久久久久| 亚洲国产成人精品久久久国产成人一区| 久久在线观看视频| 欧美壮男野外gaytube| 欧美电影免费在线观看| 国产一区二区成人| 日本高清久久天堂| 欧美在线xxx| 欧美理论电影网| 久久精品亚洲热| 91在线观看免费高清完整版在线观看| 欧美午夜电影在线| 欧美日韩xxxxx| 久久久久女教师免费一区| 国产欧美日韩视频| 亚洲国产精品va在线看黑人动漫| 岛国精品视频在线播放| 欧美成人在线免费视频| 亚洲人成电影网站色…| 亚洲国产精品久久久| 欧美成aaa人片免费看| 国产成人91久久精品| 欧美成人免费全部观看天天性色| 富二代精品短视频| 91成人在线观看国产| 久久成人国产精品| 日本国产欧美一区二区三区| 日韩一区av在线| 亚洲国产精品系列| 国产91色在线|免| 91久久综合亚洲鲁鲁五月天| 亚洲xxx视频| 成人做爰www免费看视频网站| 欧美激情精品久久久久久久变态| 欧美电影在线观看网站| 亚洲国产精品久久久久| 97视频在线观看免费| 国产日韩换脸av一区在线观看| 成人免费网站在线看| 红桃视频成人在线观看| 日本一区二三区好的精华液| 久青草国产97香蕉在线视频| 亚洲成人教育av| 亚洲自拍小视频免费观看| 国产精品久久久久aaaa九色| 精品亚洲男同gayvideo网站| 国产美女高潮久久白浆| 国产精品欧美日韩一区二区| 久久精品国产69国产精品亚洲| 亚洲欧洲第一视频|