Flutter兼容AndroidX

参考:https://flutter.dev/docs/development/packages-and-plugins/androidx-compatibility

1 第一步

android/gradle/wrapper/gradle-wrapper.properties中修改Gradle版本为4.10.2

distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip

如下图:
在这里插入图片描述

2 第二步

android/build.gradle,修改:

 classpath 'com.android.tools.build:gradle:3.3.0'

如下图:
Flutter兼容AndroidX_第1张图片

3 第三步

android/gradle.properties中添加:

android.enableJetifier=true
android.useAndroidX=true

如下图:
Flutter兼容AndroidX_第2张图片

4 第四步

android/app/build.gradle中的android下面确保compileSdkVersion 和 targetSdkVersion 最少是 28.

如下图:
Flutter兼容AndroidX_第3张图片

5 第五步

将所有support都替换成androidx,
比如将

 testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

替换成

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

再比如将

androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

替换成

 androidTestImplementation 'androidx.test:runner:1.1.1'
 androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'

如下图:

Flutter兼容AndroidX_第4张图片

6 回避 AndroidX:

如果不想配置AndroidX,在使用依赖库的时候,就要选择该依赖库没有迁移到AndroidX的最后版本,主要的依赖库如下:

android_alarm_manager: 0.2.3
android_intent: 0.2.1
battery: 0.3.0
camera: 0.2.9+1
cloud_firestore: 0.8.2+3
cloud_functions: 0.0.5
connectivity: 0.3.2
device_info: 0.3.0
firebase_admob: 0.7.0
firebase_analytics: 1.1.0
firebase_auth: 0.7.0
firebase_core: 0.2.5+1
firebase_database: 1.0.5
firebase_dynamic_links: 0.1.1
firebase_messaging: 2.1.0
firebase_ml_vision: 0.2.1
firebase_performance: 0.0.8+1
firebase_remote_config: 0.0.6+1
firebase_storage: 1.0.4
google_maps_flutter: 0.1.0
google_sign_in: 3.2.4
image_picker: 0.4.12+1
local_auth: 0.3.1
package_info: 0.3.2+1
path_provider: 0.4.1
quick_actions: 0.2.2
sensors: 0.3.5
share: 0.5.3
shared_preferences: 0.4.3
url_launcher: 4.1.0+1
video_player: 0.9.0
webview_flutter: 0.2.0

举个栗子:
打开shared_preferences的pub链接:
https://pub.dev/packages/shared_preferences#-changelog-tab-

在 Changelog中可以看到 0.5.0使用了AndroidX,那么为了回避AndroidX我们能使用的的最后一个版本也就是0.4.3了

Flutter兼容AndroidX_第5张图片

你可能感兴趣的:(Flutter,AndroidX,兼容,Flutter)