博客
关于我
Android X 相关汇总
阅读量:477 次
发布时间:2019-03-06

本文共 1534 字,大约阅读时间需要 5 分钟。

AndroidX 迁移指南:理解与实践

随着Android开发的不断进步,Google推出了AndroidX库,标志着Android开发工具链的重大变革。本文将深入探讨AndroidX的意义、变化、影响及迁移方法,帮助开发者顺利适应这一趋势。

说明

官方原文指出,AndroidX的目标是通过将核心API从android.分离到androidx.,使开发者更清晰地识别哪些API是平台内置的,哪些是可选的静态库。这种划分不仅提升了API的可见性,还改变了依赖管理的方式。

简单来说,AndroidX允许开发者按需升级库文件,而不必关注其他库的版本。这与使用开源库类似,出现问题时可以直接与库作者沟通,减少了维护成本。

变化

让我们对比一些常用依赖库的变化:

Old build artifact    AndroidX build artifactcom.android.support:support-compat    androidx.core:core:1.0.0+com.android.support:appcompat-v7androidx.appcompat:appcompat:1.0.0+com.android.support:design    androidx.appcompat:appcompat:1.0.0+com.android.support:designcom.google.android.material:material:1.0.0+com.android.support:multidex    androidx.multidex:multidex:2.0.0+com.android.support:recyclerview-v7androidx.multidex:multidex:2.0.0+com.android.support:viewpager    androidx.legacy:legacy-support-v4:1.0.0+com.android.support:viewpagerandroidx.viewpager:viewpager:1.0.0+com.android.support:support-fragment    androidx.fragment:fragment:1.0.0+

UI组件如ViewPager、SwipeRefreshLayout和CoordinatorLayout被独立管理,这有助于减轻ProGuard和Multidex的负担。

影响

官方说明中提到,28.0.0版本仍支持android.support以迁移期给予时间。未来所有新功能将集中在AndroidX上。对于开发者来说,这并不强制,但长远来看,使用AndroidX有助于代码的简洁性和维护性。

许多开源库如Butterknife和Glide已适配AndroidX,这大大提升了开发体验。

迁移

一键迁移功能在Android Studio 3.2 Canary中推出,支持将旧依赖替换为AndroidX版本。确保Gradle版本至少为3.2.0,compileSdkVersion为28及以上。

新项目启用AndroidX时,需在gradle.properties中添加配置:

android.useAndroidX=trueandroid.enableJetifier=true

如果已有旧项目,可以暂时关闭Jetifier:

android.useAndroidX=trueandroid.enableJetifier=false

通过以上方法,可以顺利完成AndroidX迁移,享受更灵活的开发体验。

转载地址:http://gpdfz.baihongyu.com/

你可能感兴趣的文章
pandas 中的 for 循环真的很糟糕吗?我什么时候应该关心?
查看>>
Pandas 中的多索引旋转
查看>>
Pandas 中的日期范围
查看>>
pandas 中的时间序列箱线图
查看>>
Pandas 使用指南
查看>>
pandas 分组并使用最小值更新
查看>>
pandas 叶上的热图
查看>>
pandas 均值(mean), 均值填充NA(fill_na)
查看>>
Pandas 对数据框的布尔比较
查看>>
Pandas 将多个数据帧与时间戳索引对齐
查看>>
pandas 将通话数据分割为15分钟的间隔
查看>>
pandas 找到局部最大值和最小值
查看>>
Pandas 按年份分组,按销售列排名,在具有重复数据的数据框中
查看>>
pandas 按日期和年份分组,并汇总金额
查看>>
pandas 数据帧到PostgreSQL表中使用的是没有SQLAlChemy的心理复制2吗?
查看>>
pandas 数据帧多行查询
查看>>
Pandas 数据框:使用线性插值重新采样
查看>>
pandas 数据框将 INT64 列转换为布尔值
查看>>
pandas 数据框将列类型转换为字符串或分类
查看>>
pandas 数据框条件 .mean() 取决于特定列中的值
查看>>