Google 2018 IO 大會推出了 Android新的擴(kuò)展庫 AndroidX,用于替換原來的 Android擴(kuò)展庫,將原來的android.替換成androidx.我注;只有包名和Maven工件名受到影響,原來的類名,方法名和字段名不會更改尼变。接下來我們來看看使用 AndroidX的擴(kuò)展庫需要哪些配置。
1.Androidx的變化
Android(old) | AndroidX |
---|---|
com.android.support:appcompat-v7:28.0.2 | androidx.appcompat:appcompat:1.0.0 |
com.android.support:design:28.0.2 | com.google.android.material:material:1.0.0 |
android.support.v4.app.Fragment | androidx.fragment.app.Fragment |
android.support.v7.app.ActionBar | androidx.appcompat.app.ActionBar |
2.配置Androidx
1) 更新升級插件
- 將Android Studio 升級至3.2以上(我的是3.4)
- Gradle 插件版本改為 4.6及以上(我的是5.1.1)
項(xiàng)目下 gradle/wrapper/gradle-wrapper.propertie 文件中的distributionUrl改為
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
- compileSdkVersion 版本升級到 28及以上浆劲;
- buildToolsVersion 版本改為 28.0.2及以上嫌术。
總之用Android Studio打開項(xiàng)目會提示有更新Gradle的界面,選擇update就好
2) 在項(xiàng)目的gradle.properties文件里添加如下配置
android.useAndroidX=true
android.enableJetifier=true
意思是項(xiàng)目啟用 AndroidX 并遷移到 AndroidX。
3)替換依賴庫
修改Android/app目錄下的build.gradle依賴庫:
implementation 'com.android.support:appcompat-v7:28.0.2' → implementation 'androidx.appcompat:appcompat:1.0.0'
implementation 'com.android.support:design:28.0.2' → implementation 'com.google.android.material:material:1.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.2' → implementation 'androidx.constraintlayout:constraintlayout:1.1.2'
...
4)手動修改支持庫類
import android.support.v7.app.AppCompatActivity; → import androidx.appcompat.app.AppCompatActivity;
5)一鍵遷移AndroidX庫
Android Studio 3.2 及以上版本提供了更加方便快捷的方法一鍵遷移到 AndroidX牌借。選擇菜單上的ReFactor —— Migrate to AndroidX... 度气。(如果遷移失敗,就需要重復(fù)上面1膨报,2磷籍,3,4步手動去修改遷移)
12.png
如果你的項(xiàng)目compileSdkVersion 低于28现柠,點(diǎn)擊Refactor to AndroidX...會提示:
You need to have at least have compileSdk 28 set in your module build.gradle to refactor to androidx
升級最新到SDK择示,然后點(diǎn)擊 Migrate to AndroidX...,AS就會自動將項(xiàng)目重構(gòu)并使用AndroidX庫晒旅。