前言
AndroidX出來有一段時間了,不知道大家有沒有跟進Google的腳步。這裏引用一下官網對AndroidX的介紹
AndroidX 是 Android 團隊用於在 Jetpack 中開發、測試、打包和發佈庫以及對其進行版本控制的開源項目。
AndroidX 對原始 Android 支持庫進行了重大改進。與支持庫一樣,AndroidX 與 Android 操作系統分開提供,並與各個 Android 版本向後兼容。AndroidX 完全取代了支持庫,不僅提供同等的功能,而且提供了新的庫。此外,AndroidX 還包括以下功能:
其實AndroidX的誕生就是Google有感於Android Support Libray的混亂狀態,因爲隨着Android版本的一次次更新,support-v4、appcompat-v7的實際作用已經和當初命名的原因對不上了,於是Google對這些API架構進行了一次重新劃分,推出了AndroidX。本質上就是對Android Support Library進行的一次升級,AndroidX 1.0.0版本是等效與Android Support Libray 28.0.0版本的,所以遷移前的準工作最好將Android Support Libray更新到28.0.0。前段時間,我也將項目遷移到了AndroidX,這裏記錄一下相關步驟。
準備工作
- 使用Android Studio 3.2 及更高版本
- 升級compileSdkVersion 28及以上版本
- 項目gradle.properties文件添加android.useAndroidX=true和android.enableJetifier=true
遷移步驟
- 使用 Android Studio 3.2 及更高版本,你只需從菜單欄中依次選擇 Refactor > Migrate to AndroidX,即可將現有項目遷移到 AndroidX。
- 使用Android Studio內置的遷移功能可能並不能把一些都處理好,這個時候,Build整個項目,會詳細報出哪裏有錯誤,這個時候就需要我們自己根據映射關係,手動修改依賴配置。查看Android Support Libray與AndroidX映射關係
遷移總結
遷移過程中難免會有各種問題出現,特別是大的工程,老的項目,這個時候就需要我們有耐心了,到時候我會收集一些在遷移中遇到的問題,附在文章末尾。