安卓使用JNI-NDK
詳細配置,參考鏈接:http://www.jb51.net/softjc/115204.html
一? 、為什么使用NDK
1.代碼的保護。由于apk的java層代碼很容易被反編譯,而C/C++庫反匯難度較大。 2.可以方便地使用現存的開源庫。大部分現存的開源庫都是用C/C++代碼編寫的。
3.提高程序的執行效率。將要求高性能的應用邏輯使用C開發,從而提高應用程序的執行效率。
4.便于移植。用C/C++寫得庫可以方便在其他的嵌入式平臺上再次使用。
二、NDK簡介
1.NDK是一系列工具的集合
??? NDK提供了一系列的工具,幫助開發者快速開發C(或C++)的動態庫,并能自動將so和java應用一起打包成apk。這些工具對開發者的幫助是巨大的。
??? NDK集成了交叉編譯器,并提供了相應的mk文件隔離CPU、平臺、ABI等差異,開發人員只需要簡單修改mk文件(指出“哪些文件需要編譯”、“編譯特性要求”等),就可以創建出so。
??? NDK可以自動地將so和Java應用一起打包,極大地減輕了開發人員的打包工作。
2.NDK提供了一份穩定、功能有限的API頭文件聲明
??? Google明確聲明該API是穩定的,在后續所有版本中都穩定支持當前發布的API。從該版本的NDK中看出,這些API支持的功能非常有限,包含有:C標準庫(libc)、標準數學庫(libm)、壓縮庫(libz)、Log庫(liblog)。
三、在Eclipse中使用NDK
1.在eclips中配置NDK路徑
在eclipse中點擊菜單欄window-Perferences,配置NDK的路徑。
2.在工程中添加native lib
新建一個空白的Android工程,在根目錄上點擊右鍵Adnroid Tools - Add Native Support...
在彈出的對話框中輸入要新建的lib的名稱,點擊Finish,在工程目錄下會多出一個jni文件夾,里面有一個空白的cpp文件和一個Android.mk文件
3. Android.mk文件的內容是
feelJulyGpsMap.cpp的內容是:
FeelJulyActivity.java的內容是:
直接運行程序,可以在Console窗口中看到NDK build的輸出:
四、使用NDK
............................
總結
以上是生活随笔為你收集整理的安卓使用JNI-NDK的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android开发之拍照功能实现
- 下一篇: 指定路由器(DR/BDR)和非指定路由器