讓開發者可以在Android裝置中執行C/C++程式的NDK(Native Development Kit)開發工具集,釋出了最新的r21測試版本,不只更新了工具鏈以及系統需求,也改進預設項目提高安全與效能表現,Google也提到將會每年釋出長期支援版本,而NDK r21則是第一個長期支援版本。

最新的Android NDK版本更新GNU Make到4.2版,該版本提供--output-sync功能,可避免輸出與錯誤訊息交錯顯示,現在ndk-build會預設啟用此功能,而GNU Make版本更新也修正了在Windows上的CreateProcess錯誤。GDB也更新到了8.3版,修正英特爾CPU除錯的錯誤。

LLVM也有更新,所有元件包括Clang和lld等,採用了新2019年7月10日之前的主分支r365631,libc++則使用更新的版本r369764,除了修復許多舊版本的臭蟲之外,最重要的修正是在Windows上使用多執行緒連結時,LLD不會再失去回應。其他更新還有OpenMP現在可以當作動態函式庫使用,且由於Google改進了驅動程式,每個建置系統需要的編譯配置數量也大幅降低。

Android NDK r21在預設情況下,靜態程式碼分析工具Fortify會在使用ndk-build或是CMake工具鏈檔案的時候啟用,Fortify可以對標準函式庫進行額外的檢查,更快地發現臭蟲,減少安全問題的發生。另外,這個NDK版本有新的最低系統需求,繼Android Studio和SDK之後,NDK也不再支援32位元Windows,Linux用戶則必須至少使用glibc 2.17或更高版本。

Google現在為開發者提供支援時間長達一年的長期支援版本,針對需要穩定性但是不需要新功能的用戶,長期支援版本會有較長的Beta測試周期,並且在隔年長期支援版本發布之前,能夠持續獲得錯誤修正,發布的時間會落在一年中的第四季。非長期支援版本,發布的節奏會跟目前的發布流程一樣,主要是新功能集的發布,也只會對重要工具鏈進行錯誤修補。

而針對Arm程式碼的建置,現在預設使用Arm進階SIMD架構擴充Neon,Google提到,舊版本會在特定條件下使用minSdkVersion,但考量目前只有極少數的裝置不支援Neon,因此現在無條件預設啟用,32位元的Arm裝置因此將會獲得效能上的改進,開發者仍然可以在不支援Neon的裝置上應用程式禁用Neon。


Advertisement

更多 iThome相關內容