升級AndroidX 採坑

升級AndroidX 採坑

先說說我爲什麼要將項目升級到 AndroidX

1、官方推薦 :會在AndroidX 中加入新特性 ,但不會加入 support 包中,同時也是爲了,整合臃腫的 support 包。

2、在升級 gradle 到 3.4.2 之後 項目就默認 是AndroidX了

3、我在新需求中,需要 豎直方向的 ViewPager “ 網上有很多 自定義實現的,效果都不太好 ” ,然後瞭解到 AndroidX 中的 ViewPager2 支持豎直方向,官方的 能不香嗎?

主要還是因爲 第三條,我決定 將原有的項目 升級到 AndroidX(項目很大,酸爽~~~)。

開始動手

  • gradle.properties 文件中 加入下面兩行代 ()
    
    android.useAndroidX=true    表示允許升級 AndroidX
    android.enableJetifier=true   表示依賴包升級到 AndroidX
    
  • gradle-wrapper.properties 中 升級到 4.6 以上

    distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
    
  • Prject 的 build.gradle 中 classPath 3.2 以上

    dependencies {  classpath 'com.android.tools.build:gradle:3.2.0' }
    
  • 將項目中 所有的support 包 手動 換到 28 以上 如:

    implementation 'com.android.support:appcompat-v7:28.0.0'
    
  • 有的依賴包 也需要同步 比如 :

    Glide 4.8以上:   'com.github.bumptech.glide:glide:4.8.0'
    
  • 最後一步:如圖 右鍵項目名稱 —> Refactor —> Migrate to Androix

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-jS1P0Osv-1578467127068)(C:\Users\00\AppData\Roaming\Typora\typora-user-images\1578465547921.png)]

這時 AS 會提示你需不需要備份,最好是備一份,萬一升級不成功呢 是吧 哈哈!,按照步驟來應該是沒問題的!相信俺!

就會發現,原先的Support 包 都變成了 AndroidX 包了 。

如果之前,引入過CardView 這樣的包 ,可以按照下面地址 替換成對應 AndroidX 包

新舊包名對比

最後結果會分爲兩種情況

一 、項目就可以正常運行了

二 、項目中的組件,引入的包名都不能用了,需要手動替換 (替換了一上午55555!)

兩種情況我都遇到過,希望你是第一種,祝你好運

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章