轉載自:http://blog.csdn.net/mylzc/article/details/8740523html
最近一段時間在作native層的開發,把一些經驗和技巧記錄下來,但願對你們有幫助。本教程以step-by-step的形式給正處入門階段的native開發新手提供指引。java
導言:在進行Android開發的過程當中,在一些對性能要求較高的場景,例如圖像處理,視音頻編解碼等,須要使用到native代碼以提升運行效率。本教程將在native層進行加法運算和字符串鏈接,經過這個簡單的例子闡述使用eclipse編譯運行ndk代碼的過程。android
注:JNI基礎知識不在本文的討論範圍以內,推薦瀏覽oracle的幫助文檔進行系統學習git
開發環境:github
Adt-bundle(ver:21.1.0) 下載地址:https://developer.android.com/sdk/index.htmloracle
Ndk(ver:r8b) 下載地址:https://developer.android.com/tools/sdk/ndk/index.htmleclipse
示例工程下載地址:https://github.com/ilzc/Code/tree/master/jniide
步驟詳解:函數
一、 配置ndk路徑性能
打開Eclipse後,點擊菜單欄的Project->Preferences打開Preferences窗口,點擊左側Android->NDK選項,在右側NDK Location填入ndk的路徑
二、 建立工程並增長native支持
點擊菜單欄的File->New->Android Application Project建立Android工程。
建立完畢後,在PackageExplorer中右鍵點擊剛纔新建的Android項目,選擇Android Tools->Add Native Support,按下圖填寫,點擊確認後,工程目錄下會增長jni目錄,jni目錄下有test.cpp和Android.mk。
三、 編寫jave層的jni接口
建立一個Java類,類名爲Jni
編寫加載庫的代碼,並添加兩個native方法
四、 編寫native層的代碼
五、 編寫Android.mk
六、 編譯運行
編譯:在Package Explorer視窗,右鍵點擊jni項目,選擇Build Project編譯項目,編譯成功後,在工程libs->armeabi目錄下能夠看到libtest.so。
運行:在Package Explorer視窗,右鍵點擊jni項目,選擇Run As->Android Application運行工程。
最後,咱們能夠在logcat中能夠看到打印結果: