Android NDK 環境搭建

來源:互聯網
上載者:User

Android NDK 環境搭建

使用最新ndk,直接拋棄cygwin,以前做Android的項目要用到NDK就必須要下載NDK,下載安裝Cygwin(類比Linux環境用的),下載CDT(Eclipse C/C++開發外掛程式),還要配置編譯器,環境變數,特別麻煩,新版就不需要了

步驟 :

一、Android官網下載Android的開發工具ADT(Android Development Tool的縮寫),該工具整合了最新的ADT和NDK外掛程式以及Eclipse,還有一個最新版本SDK。解壓之後就可以用了

二、ADT外掛程式:管理Android SDK和相關的開發工具的

NDK外掛程式:用於開發Android NDK的外掛程式,ADT版本在20以上,就能安裝NDK外掛程式,另外NDK整合了CDT外掛程式

下載連結見:http://developer.android.com/sdk/index.html

三、Android官網下載最新的NDK,註:NDK版本在r7以上之後就整合了Cygwin,而且還是十分精簡版。

下載連結見:http://developer.android.com/tools/sdk/ndk/index.html


eclipse配置 :
1.開啟Eclipse,點Window->Preferences->Android->NDK,設定NDK路徑,例如Shamoo的是E:\android-ndk-r9c



2.建立一個Android工程,在工程上右鍵點擊Android Tools->Add Native Support...,然後給我們的.so檔案取個名字,例如:my-ndk



3.這時候工程就會多一個jni的檔案夾,jni下有Android.mk和my-ndk.cpp檔案。Android.mk是NDK工程的Makefile,my-ndk.cpp就是NDK的源檔案。

4.接下來仿著NDK的demo,Hello-JNI工程寫一下。使用Alt + "/'可以代碼提示!很爽!有木有?之前用CDT時候死活都按不出代碼提示,鬱悶...

5.JNI介面的命名規範是:Java_ + 調用該方法的包名(包名的點用_代替) + _ + 調用該介面的類名 + _ + 方法名,對於執行個體方法,有兩個參數是必要的,一個JNI的環境指標JNIEnv *




6.完成了,然後運行。運行之前先編譯NDK,然後在編譯JAVA代碼。編譯也許會遇到Unable to launch cygpath. Is Cygwin on the path?如何解決?如下

7.工程右鍵,點PrZ喎?http://www.bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcGVydGllcy0+Qy9DJiM0MzsmIzQzOyBCdWlsZLXEQnVpbGRpbmcgU2V0dGluZ3PW0MiltfRVc2UgZGVmYXVsdCBidWlsZCBjb21tYW5ko6zIu7rzyuTI6yR7TkRLUk9PVH0vbmRrLWJ1aWxkLmNtZDxicj4KPGJyPgo8aW1nIHNyYz0="http://www.2cto.com/uploadfile/Collfiles/20141101/20141101084240140.jpg" alt="\">


8.在C/C++ Build中點擊Environment,點Add...添加環境變數NDKROOT,值為NDK的根目錄


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.