flutter迁移androidx
First make sure that compileSdkVersion
is at least 28
in app/build.gradle
. This property controls the version of the Android SDK that Gradle uses to build your APK. It doesn’t affect the minimum SDK version that your app can run on. See the Android developer docs on the module-level build file for more information.
Recommended: Use Android Studio to migrate your app
This requires the latest version of Android Studio. Use the following instructions:
- Import your Flutter app into Android Studio so that the IDE can parse the Android code following the steps in Editing Android code in Android Studio with full IDE support.
- Follow the instructions for Migrating to AndroidX.
Not recommended: Manually migrate your app
See Migrating to AndroidX for more detailed instructions on how to do this. Below are some steps that you’ll likely need to go through as part of this process, listed here for reference. However the specific things you need to do will depend on your build configuration and could differ from the example changes suggested here.
- In
android/gradle/wrapper/gradle-wrapper.properties
change the line starting withdistributionUrl
like this:distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip
- In
android/build.gradle
, replace:dependencies { classpath 'com.android.tools.build:gradle:3.2.1' }
by
dependencies { classpath 'com.android.tools.build:gradle:3.3.0' }
- In
android/gradle.properties
, appendandroid.enableJetifier=true android.useAndroidX=true
- In
android/app/build.gradle
:Under
android {
, make surecompileSdkVersion
andtargetSdkVersion
are at least 28. - Replace all deprecated libraries with the AndroidX equivalents. For instance, if you’re using the default
.gradle
files make the following changes:In
android/app/build.gradle
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
by
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
Finally, under
dependencies {
, replaceandroidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
by
androidTestImplementation 'androidx.test:runner:1.1.1' androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
Avoiding AndroidX
原文:https://flutter.dev/docs/development/packages-and-plugins/androidx-compatibility