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

你可能感兴趣的文章
python | Python反向迭代:reversed实现机制
查看>>
python | Python开发必知的数据容器用法(建议收藏!)
查看>>
python读取文件夹下文件名称_如何在Python目录中获取文件名列表
查看>>
python | Python文本处理中的相似性识别应用
查看>>
python | Python模块缓存:sys.modules机制
查看>>
python | Python集成学习和随机森林算法
查看>>
python | Python高阶函数与函数式编程
查看>>
python | pytime,一个实用的 时间和日期处理 Python 库!
查看>>
python | pyupgrade,一个有趣的 Python 库!
查看>>
python | pyvips,一个神奇的 图像处理 Python 库
查看>>
Python | qutip,一个高级的 Python 库!
查看>>
python | rapidjson,一个实用的 提高JSON处理效率 Python 库!
查看>>
python | reflex,一个无敌的 Python 库!
查看>>
python | reloading,一个强大的 Python 库!
查看>>
python | rich,一个无敌的 Python 库!
查看>>
python | rlax,一个超强的 强化学习领域 Python 库!
查看>>
python | rpyc,一个超实用的 Python 库!
查看>>
python | rq,一个无敌的 关于Redis 的Python 库!
查看>>
python读取字符串指定位置字符_python要怎么截取指定位置的字符串呢?
查看>>
python | scikit-llm,一个神奇的 Python 库!
查看>>