Flutter 43: 图解 Flutter 适配 AndroidX

简介: 0 基础学习 Flutter,第四十三步:如何适配 AndroidX?

      小菜在尝试一些三方库时,会提示与 androidx 不兼容,小菜整理一下尝试步骤;

      首先需要了解一下 Android 的基本情况,目前已经由 V7 发展到 androidx,主要避免包越来越臃肿的问题,而 Android 的新特性也会在 androidx 中进行优化增加;与之而来的挑战是适配问题,support 包与 androidx 不兼容,二者存一,在项目中需要好好斟酌;

      小菜未适配 androidx 时引入三方库时会提示如下问题;此时用谷歌亲儿子工具 AndroidStudio 可以方便很多;

适配步骤

1. 更新至最新的 distributionUrl

文件路径:android/gradle/wrapper/gradle-wrapper.properties

2. 更新 build.gradle 中 classpath 与 Kotlin 版本

文件路径:classpath,此时注意 Kotlin 版本升至 1.3.0 及以上;

3. 添加 androidx 配置

文件路径:android/gradle.properties

android.useAndroidX=true 代表使用 androidx 库而非 support 库;

android.enableJetifier=true 代表三方包迁移至 androidx

4. 更新 Module 中 build.gradle SDK 版本

文件路径:android/app/build.gradle,此时注意除了当前 SDK 版本升级之后,androidTestImplementation 也许随着升级;

注意事项

1. 建议手动逐步操作而非 Migrate to AndroidX

      小菜在测试时尝试用 AndroidStudio 自带的 Migrate to AndroidX 方式无效,后手动逐步操作,可能是小菜操作有误或其他,可以尝试一下;

选择本工程 -> Refactor -> Migrate to Androidx

2. 兼容其他三方库

      小菜在使用三方库时部分库未进行 androidx 适配,包括小菜自己发布的 pub 库,不兼容需适配升级;对于此类情况,我们可以选择不升级至 androidx 用较低版本的 pub 库,或尝试升级不兼容的三方库,需根据实际情况衡量;

3. Kotlin 1.3.0

      小菜在升级 Kotlin 版本时提示 jre7:1.3.0 版本找不到;

      文件路径:android/app/build.gradle,此时需要将 dependenciesjre7 替换为 jdk8 即可;


      以上是小菜在升级适配过程中遇到的小问题,内容浅显,有错误的地方请多多指导!

目录
相关文章
|
15天前
|
消息中间件 编解码 开发者
深入解析 Flutter兼容鸿蒙next全体生态的横竖屏适配与多屏协作兼容架构
本文深入探讨了 Flutter 在屏幕适配、横竖屏切换及多屏协作方面的兼容架构。介绍了 Flutter 的响应式布局、逻辑像素、方向感知、LayoutBuilder 等工具,以及如何通过 StreamBuilder 和 Provider 实现多屏数据同步。结合实际应用场景,如移动办公和教育应用,展示了 Flutter 的强大功能和灵活性。
86 6
|
15天前
|
容器
深入理解 Flutter 鸿蒙版的 Stack 布局:适配屏幕与层叠样式布局
Flutter 的 Stack 布局组件允许你将多个子组件层叠在一起,实现复杂的界面效果。本文介绍了 Stack 的基本用法、核心概念(如子组件层叠、Positioned 组件和对齐属性),以及如何使用 MediaQuery 和 LayoutBuilder 实现响应式设计。通过示例展示了照片展示与文字描述、动态调整层叠布局等高级用法,帮助你构建更加精美和实用的 Flutter 应用。
105 2
|
3月前
|
Android开发
Flutter适配安卓刘海、水滴屏显示全屏
Flutter适配安卓刘海、水滴屏显示全屏
73 2
|
6月前
|
编解码 搜索推荐 Android开发
Flutter笔记:发布一个模块 scale_design - (移动端)设计师尺寸适配工具
Flutter笔记:发布一个模块 scale_design - (移动端)设计师尺寸适配工具
113 0
|
移动开发 缓存 Dart
Pad大屏&Flutter多引擎适配之路
# 背景 在电商场景中iPad的大屏拥有比普通手机相比更大的屏幕,对于购物体验而言,如能充分利用好iPad的大屏体验,无疑提高用户购买体验,但一直以来在混合栈应用特别是Flutter混合栈中,在iPad大屏适配和Flutter多引擎适配都是个老大难问题。本文会介绍闲鱼在这iPad适配中的各个疑难点。 # 分屏模式 华为,oppo等厂商折叠屏的方案。界面会在展开和折叠时展示不同的视图样式。op
Pad大屏&Flutter多引擎适配之路
|
移动开发 安全 API
Flutter全面屏适配
Flutter全面屏适配
264 0
Flutter全面屏适配
|
Android开发
【Flutter】Android、Flutter 折叠屏适配 ( 展开大屏 | 折叠主屏 | 折叠副屏 | 静态展示 | 动态热切换适配 | 拉伸布局 | X 轴自适应适配 | 布局重构 )(二)
【Flutter】Android、Flutter 折叠屏适配 ( 展开大屏 | 折叠主屏 | 折叠副屏 | 静态展示 | 动态热切换适配 | 拉伸布局 | X 轴自适应适配 | 布局重构 )(二)
422 0
【Flutter】Android、Flutter 折叠屏适配 ( 展开大屏 | 折叠主屏 | 折叠副屏 | 静态展示 | 动态热切换适配 | 拉伸布局 | X 轴自适应适配 | 布局重构 )(二)
|
编解码 Android开发
【Flutter】Android、Flutter 折叠屏适配 ( 展开大屏 | 折叠主屏 | 折叠副屏 | 静态展示 | 动态热切换适配 | 拉伸布局 | X 轴自适应适配 | 布局重构 )(一)
【Flutter】Android、Flutter 折叠屏适配 ( 展开大屏 | 折叠主屏 | 折叠副屏 | 静态展示 | 动态热切换适配 | 拉伸布局 | X 轴自适应适配 | 布局重构 )(一)
518 0
【Flutter】Android、Flutter 折叠屏适配 ( 展开大屏 | 折叠主屏 | 折叠副屏 | 静态展示 | 动态热切换适配 | 拉伸布局 | X 轴自适应适配 | 布局重构 )(一)
【错误记录】Flutter 使用 MediaQuery 适配全面屏报错 ( No MediaQuery widget ancestor found. )
【错误记录】Flutter 使用 MediaQuery 适配全面屏报错 ( No MediaQuery widget ancestor found. )
865 0
【错误记录】Flutter 使用 MediaQuery 适配全面屏报错 ( No MediaQuery widget ancestor found. )
|
Android开发
【Flutter】Flutter 全面屏适配 ( 需要适配的情况 | Android 设置最大宽高比 | 使用 SafeArea 进行全面屏适配 | 使用 MediaQuery 进行全面屏适配 )(二)
【Flutter】Flutter 全面屏适配 ( 需要适配的情况 | Android 设置最大宽高比 | 使用 SafeArea 进行全面屏适配 | 使用 MediaQuery 进行全面屏适配 )(二)
214 0
【Flutter】Flutter 全面屏适配 ( 需要适配的情况 | Android 设置最大宽高比 | 使用 SafeArea 进行全面屏适配 | 使用 MediaQuery 进行全面屏适配 )(二)