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