Linux下NDK的安装配置
Linux下NDK的安裝配置
??? 在編寫android程序的時(shí)候如果需要復(fù)用一部分以前的c語言程序,可以考慮使用NDK。由于設(shè)計(jì)到c和c++編程,故強(qiáng)烈建議在Linux下安裝上eclipse的CDT插件。安裝方法同安裝其他插件的方式一樣,推薦離線安裝,方法這里不再贅述。
??? 在使用NDK之前需要下載android-ndk包,下載解壓后將解壓后的文件夾拷貝到自定義的目錄下面(如“/root/”目錄下),如圖一所示。
?
圖一? 拷貝解壓后的ndk文件夾到自定義目錄下
?
??? 和安裝jdk的過程相同,下一步的工作便是配置ndk的環(huán)境變量。修改“/etc/”下的profile文件,在profile的”unmask 022”語句之前加上“NDKROOT=/root/android-ndk-r7b
“和”export PATH=$NDKROOT:$PATH”如圖2所示(如果不行,可以可以在“~/.bashrc”文件末尾添加以上兩個(gè)命令即可),修改保存,利用“source/etc/profile”命令執(zhí)行其中的命令以更改環(huán)境變量。
?
圖二? 修改profile文件
?
??? 自此,ndk的安裝完成,可以在shell中輸入“ndk-build”命令來檢查你的安裝是否成功,如果不是顯示“ndk-build not found”,而是如圖3所示的提示,則說明你的ndk安裝成功。
圖三? 檢查ndk是否安裝成功
?
??? 到此為止,就可以在eclipse當(dāng)中使用ndk了。如果你對ndk不是太熟悉,你可以運(yùn)行ndk自帶的sample來體驗(yàn)ndk的功能。這里以ndk解壓包中的“samples/”下的”hello-jni”為例來示范。首先導(dǎo)入”hello-jin”工程(如果不能導(dǎo)入,則可以新建一個(gè)空的”android project”然后將”hello-jni”下的文件夾全部拷貝到工程目錄下即可),如圖四所示。
?
圖四? 導(dǎo)入示例工程
?
??? 要讓eclipse自動(dòng)編譯你的工程,還需要做進(jìn)一步的設(shè)置,在工程名點(diǎn)擊右鍵,選擇”properties“,在彈出的窗口當(dāng)中選擇”Builders“,然后在窗口右側(cè)選擇”new”,再在彈出的窗口當(dāng)中選擇“program”,然后為你的builder命名,如圖五所示。
圖五? 新建builder
?
??? 隨后進(jìn)入builder的編輯窗口。在Main選項(xiàng)卡當(dāng)中分別設(shè)置“Location”和“Working Directory”為“/bin/bash”和“/bin”,同時(shí),根據(jù)你當(dāng)前工程的位置設(shè)置“Argument”的值,如你的工程路徑是“/home/yuanxz/workspace/hello-jni”,那么你就該設(shè)置其值為:--login -c "cd /home/yuanxz/workspace/hello-jni &&ndk-build"。如圖六所示。
?
圖六? 設(shè)置Main選項(xiàng)卡
?
??? 隨后再設(shè)置“refresh”和”Build Option“選項(xiàng)卡,如圖七和圖八所示。其中點(diǎn)選refresh選項(xiàng)卡中的”specific resource“后面的”specify resource“按鈕,在彈出的窗口中點(diǎn)選當(dāng)前的工程,如圖九所示。用同樣的方法設(shè)置”Build Option“選項(xiàng)卡中的”specify resource“按鈕。設(shè)置完成后,即可使eclipse自動(dòng)編譯你的c程序,同時(shí)將其生成”.so”文件,供android工程生成能在android平臺(tái)上運(yùn)行的apk使用,如圖十所示。
?
圖七? 設(shè)置refresh選項(xiàng)卡
?
?
圖八? 設(shè)置BuildOption選項(xiàng)卡
?
圖九? 設(shè)置specifyresource
?
?
圖十? 模擬器運(yùn)行結(jié)果
?
參考資料:
?
http://ygc87.blog.163.com/blog/static/239606520117571758482/
http://www.cnblogs.com/anyanran/archive/2010/11/22/ndk1.html
總結(jié)
以上是生活随笔為你收集整理的Linux下NDK的安装配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android4.3 截屏功能的尝试与失
- 下一篇: JAVA enum实现简单状态机功能