Google在2017年的時候開發了新的Dexing編譯器D8,而D8編譯器可以產生更小的APK,執行時效能也更好,已經在Android Studio 3.1正式成為預設選項,用來取代原本的DX編譯器,而DX因而開始了三階段棄用程序。

一開始D8只在Android Studio 3.0作為可選功能,主要的編譯器還是DX,隨著D8逐漸成熟,才在Android Studio 3.1切換成預設,但是開發者在使用上有任何的問題,仍可以隨時切換回DX。棄用DX有三個階段,第一階段開發者仍然可以在Android Studio中使用DX,Google會提供重要問題的更新,但不再為DX增加新功能,也會觀察是否存在無法將DX切換到D8的使用案例,Google承諾,所有轉換的問題沒有解決,DX就不會進入到棄用的下一階段。

而現在所有問題都已經解決,六個月內沒有發生重大的轉換問題,因此Google宣布DX棄用進入下一個階段,棄用第二階段是為了要確保複雜的專案,有充裕的時間能夠遷移,而這個階段,Google會維持DX編譯器可用,但視為已經棄用,不會解決任何問題。這個階段會持續一年,也就是說,一直到明年的二月一日,才會進入到棄用第三階段。

第三階段也是最後一個階段,Google將會把DX從Android Studio和其他建置環境中移除,除非開發者使用舊版的Android Gradle擴充套件,才能繼續使用DX建置應用程式,Google也提醒開發者,還在使用DX建置的專案,現在該是時候搬遷到D8上了。

Dex編譯是建構APK的關鍵步驟,是將.class位元組碼轉換成為.dex位元組碼的過程,讓Android Runtime得以執行,雖然Dex編譯器只有在應用程式開發的時候使用,但是會直接影響應用程式的建置時間、.dex檔案大小和執行時候的效能。比起DX,D8有更好的編譯效能,而且可以輸出較小的.dex檔案,應用程式執行效能也更好。


Advertisement

更多 iThome相關內容