博客
关于我
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/

你可能感兴趣的文章
NTP配置
查看>>
NUC1077 Humble Numbers【数学计算+打表】
查看>>
NuGet Gallery 开源项目快速入门指南
查看>>
NuGet(微软.NET开发平台的软件包管理工具)在VisualStudio中的安装的使用
查看>>
nuget.org 无法加载源 https://api.nuget.org/v3/index.json 的服务索引
查看>>
Nuget~管理自己的包包
查看>>
NuGet学习笔记001---了解使用NuGet给net快速获取引用
查看>>
nullnullHuge Pages
查看>>
NullPointerException Cannot invoke setSkipOutputConversion(boolean) because functionToInvoke is null
查看>>
null可以转换成任意非基本类型(int/short/long/float/boolean/byte/double/char以外)
查看>>
Number Sequence(kmp算法)
查看>>
Numix Core 开源项目教程
查看>>
numpy
查看>>
Numpy 入门
查看>>
NumPy 库详细介绍-ChatGPT4o作答
查看>>
NumPy 或 Pandas:将数组类型保持为整数,同时具有 NaN 值
查看>>
numpy 或 scipy 有哪些可能的计算可以返回 NaN?
查看>>
numpy 数组 dtype 在 Windows 10 64 位机器中默认为 int32
查看>>
numpy 数组与矩阵的乘法理解
查看>>
NumPy 数组拼接方法-ChatGPT4o作答
查看>>