詳解Android 2.3 NDK的新特性
作者:文斌
前不久我們剛剛介紹了Android R5 NDK下載及安裝的教程,本文我們將介紹Android R5 NDK的新特性也就是“Android 2.3 NDK的新特性”。
這個版本的NDK包括了很多新的API,可以用于開發(fā)更多的游戲或相似的應用程序。通過這些API,開發(fā)人員可以直接訪問Events,audio,graphics,windows,assets和storage,也可以利用新的NativeActivity類用本地代碼來實現(xiàn)Android應用程序。更多的詳細信息可以參考NDK中包含的CHANGES.HTML文檔。
更新包括:
- 增加本地activities的支持,以用于使用本地代碼實現(xiàn)Android應用
對以下特性增加本地代碼支持:
- 輸入部分(例如鍵盤或觸摸屏)
- 傳感器數(shù)據(jù)訪問(加速度傳感器,方向傳感器,陀螺儀等)
- 用于等待輸入和傳感器events的事件循環(huán)
- 窗口和surface子系統(tǒng)
- 基于OpenSL ES標準的音頻API,支持平臺音效的錄音和回放控制
- 訪問.apk文件中的資源
- 包含了更利于代碼生成的新的工具鏈(基于GCC 4.4.3),可以作為通過./configure和make方式生成代碼的開發(fā)人員的標準交叉編譯工具,在docs/STANDALONE-TOOLCHAIN.html文件中可以找到詳細說明。GCC 4.4.0仍然存在,但4.2.1已經被移除。
- 增加了預編譯靜態(tài)庫和共享庫(見docs/PREBUILTS.html文檔)的支持,以及模塊導入導出的支持,更易于共享和重用第三方的模塊。
- 作為輔助模塊提供了默認的C++ STL的實現(xiàn)(基于STLport),可以被用于靜態(tài)庫或共享庫(詳細的使用示例參見sources/android/stlport/README),如果想要代替默認的C++ STL實現(xiàn),可以編譯STLport(靜態(tài)庫或共享庫)和GNU libstdc++(只能是靜態(tài)庫)。C++異常和RTTI在默認的STL實現(xiàn)中還沒被支持,更多信息可參見docs/CPLUSPLUS-SUPPORT.HTML文件。
- 包含了改進的cpufeatures輔助庫以用于提供準確的CPU類型(很多使用ARMv6的設備以前被報成了ARMv7 CPU),提醒開發(fā)保山,使用這個庫需要重新編譯應用程序然后上傳到應用商店。
- 增加了EGL庫用于創(chuàng)建和管理OpenGL ES紋理和服務
- 增加了新的示例程序native-plasma和native-activity用來演示如何編寫本地的activity。
- 包含了很多Bug修復和小的提升,更多變更可參見docs/CHANGES.html文檔
本文轉載自文斌的專欄
【編輯推薦】
責任編輯:佚名
來源:
文斌專欄