Android 遷移到 Androidx
摘要:
image.png
前言
最近 Google 釋出了 Android support library 28,同時也釋出了 androidx 1.0.0 第一個正式版本,然後得知支援庫的 "28.0.0" 將會是最後一次更新...

image.png
前言
- 最近 Google 釋出了 Android support library 28,同時也釋出了 androidx 1.0.0 第一個正式版本,然後得知支援庫的 "28.0.0" 將會是最後一次更新,之後的更新都會遷移到 Androidx 中,所以沒辦法,只能把專案依賴也遷移到 Androidx 了。
開始遷移
- 遷移步驟 Google 官方有給出流程,首先在 gradle.properties 檔案中新增
// 表示使用 androidx android.useAndroidX=true // 表示將第三方庫遷移到 androidx android.enableJetifier=true
- 然後選單欄 Refactor -> Migrate to Androidx 就可以了,Android Studio 會自動把你專案中的依賴切換到 Androidx,並且修改專案中使用到依賴庫的路徑。
遷移中的坑
- 當然啦,如果真的這麼簡單就完事了我就不用寫這篇文章了,實際遷移中還是有不少問題的。
- 首先,專案中使用到的依賴庫路徑修改有很多事錯誤的,或者是沒有修改的,這個沒辦法,只能每個檔案都開啟,一個一個的修改了╥﹏╥...
- 然後,使用
android.enableJetifier=true
可以將專案中使用的第三方庫也遷移到 Androidx,但是,遷移後使用還是會報錯,這時你需要 Flie -> Invalidate Caches /Restart 一下就可以了。 - 接著就是專案中用到了
databinding
和dagger
的,使用dagger
的最新版本 2.17,註解處理器會產生衝突,導致專案無法編譯成功,到處找解決方案都沒有,最後只好退回 2.16 這個版本才解決了這個問題。