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

第一步

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

  如下图:

第二步

在android/build.gradle,修改:

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

第三步

在android/gradle.properties中添加:

android.enableJetifier=true
android.useAndroidX=true

第四步

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

如下图:

第五步

将所有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'

如图

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

Flutter兼容AndroidX的更多相关文章

  1. Jetpack 迁移到 androidX support MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  2. Flutter开发环境(Window)配置及踩坑记录

    Flutter 是 Google 用以帮助开发者在 iOS 和 Android 两个平台开发高质量原生 UI 的移动 SDK.Flutter 兼容现有的代码,免费且开源,在全球开发者中广泛被使用. F ...

  3. flutter 安装详细教程

    Flutter 是 Google 用以帮助开发者在 iOS 和 Android 两个平台开发高质量原生 UI 的移动 SDK.Flutter 兼容现有的代码,免费且开源,在全球开发者中广泛被使用. 安 ...

  4. Flutter 1.22 正式发布

    支持iOS 14和Android 11,新的i18n和l10n支持,可用于生产的Google Maps和WebView插件,新的App Size工具等等! 作者:Chris Sells 原文:http ...

  5. 无限可能 | Flutter 2 重点更新一览

    我们非常高兴在本周发布了 Flutter 2.自 Flutter 1.0 发布至今已有两年多的时间,在如此短暂的时间内,我们解决了 24,541 个 issue,合并了来自 765 个贡献者的 17, ...

  6. 【老孟Flutter】Flutter 2的新功能

    老孟导读:昨天期待已久的 Flutter 2.0 终于发布了, Flutter Web和Null安全性趋于稳定,Flutter桌面安全性逐渐转向Beta版! 原文链接:https://medium.c ...

  7. Flutter 2.2 更新详解

    Flutter 2.2 版已正式发布!要获取新版本,您只需切换到 stable 渠道并更新目前安装的 Flutter,或前往 flutter.cn/docs/get-started 从头开始安装. 虽 ...

  8. Flutter 2.8 更新详解

    北半球的冬意已至,黄叶与气温均随风而落.年终的最后一个 Flutter 稳定版本 已悄然来到你的面前.让我们向 Flutter 2.8 打声招呼- 本次更新包含了 207 位贡献者和 178 位审核者 ...

  9. Mac安装Dart的SDK

    最近了解到谷歌推迟Flutter兼容开发iOS.Android移动应用的框架,该框架使用的语音是Dart.作为一个iOS开发者来说,不感兴趣就不正常了,于是开始从学习Dart开始,所有的开发语音其实都 ...

随机推荐

  1. 日历价差(calendar spread)

    日历价差(calendar spread) 是指投资者买进到期日较远的期权 (简称远期期权),同时又卖出相同行权价格.相同数量但到期日较近的期权(简称近期期权),赚取两个不同期权隐含波动率的差价或者其 ...

  2. VMware 注册码

    VMware 12 Pro 永久许可证激活密钥 5A02H-AU243-TZJ49-GTC7K-3C61NVF5XA-FNDDJ-085GZ-4NXZ9-N20E6UC5MR-8NE16-H81WY- ...

  3. 【t013】无聊的军官

    Time Limit: 1 second Memory Limit: 32 MB [问题描述] 每个学年的开始,高一新生们都要进行传统的军训.今年有一个军训教官十分奇怪,他为了测试学员们的反应能力,每 ...

  4. Roslyn 如何使用 MSBuild Copy 复制文件

    本文告诉大家如何在 MSBuild 里使用 Copy 复制文件 需要知道 Rosyln 是 MSBuild 的 dotnet core 版本. 在 MSBuild 里可以使用很多命令,本文告诉大家如何 ...

  5. H3C 不适当的VLAN间路由方式

  6. 【mac】Mac 终端如何切换成管理员用户

    方法1.打开终端输入 sudo su  然后回车 Password:  ------(输入root密码即可) sh-3.2# --------    (输入执行的命令即可,例如 npm i -g np ...

  7. P1018 灵灵排数字

    题目描述 今天灵灵收到了n张卡片,他需要给他们从小到大排序. 输入格式 输入的第一行包含一个整数 \(n(1 \le n \le 10^5)\) . 输入的第二行包含 \(n\) 个正整数,以空格间隔 ...

  8. 解决浏览器中点击input输入框时,placeholder的值不消失的方法

    版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/lianwenxiu/article/det ...

  9. Kobjects, Ksets 和 Subsystems

    Kobject 是基础的结构, 它保持设备模型在一起. 初始地它被作为一个简单的引用计数, 但是它的责任已随时间增长, 并且因此有了它自己的战场. struct kobject 所处理的任 务和它的支 ...

  10. import()函数

    简介 import命令会被 JavaScript 引擎静态分析,先于模块内的其他模块执行(叫做”连接“更合适).所以,下面的代码会报错. // 报错 if (x === 2) { import MyM ...