写点什么

谷歌使用 AndroidX 代替 Android 支持库

  • 2018-05-22
  • 本文字数:811 字

    阅读完需:约 3 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

新的 Android 扩展库(AndroidX)取代了使用七年之久的 Android 支持库,旨在简化相关工作,并为该库未来的发展打下坚实的基础。

Android 支持库允许开发人员在旧版本的 Android 上支持新的 OS 特性,或者回退到等效的功能,是一种可以部分地减轻 Android 生态系统碎片化的有效方式。按照谷歌的说法:

Android 支持库应用非常广泛;大多数 Android 应用都使用了 Android 支持库。

然而,在其自然发展的过程中,出现了多个让许多开发人员为之困惑的选项。其中一个例子是存在以“v7”命名的组件和包,这是该库需要的原始 Android SDK 级别,目前需要的最小版本是 14(Android 4.0)。

AndroidX 的第一项改进旨在帮助开发人员区分哪些包属于 OS,哪些是在应用程序包工具(APK)中。通常,APK 中的(非捆绑式)库可以很好地确保单个API 可以供跨不同Android 版本的库使用。在使用AndroidX 时,所有非捆绑式的库都属于 androidx.*命名空间,包括所有的支持库和架构组件。这有助于开发人员搞清楚,哪些依赖应该包含在APK 中。

此外,AndroidX 重新设计了包结构,旨在鼓励库的小型化,支持库和架构组件包的名字也都简化了。点击这里,可以查看所有的重构变更。

最后需要指出的是,AndroidX 使用了严格的语义版本,用于表明何时保证二进制兼容性,何时可能破坏。例如,如果依赖AndroidX 的1.5.0 版本,那么也可以使用1.7.0 版本,但不能使用2.0.0。

AndroidX 带来的变化无疑会影响现有的代码库,这就需要代码重构和依赖转化。为了帮助开发人员迁移他们的代码库,Android Studio Canary 14 包含了一个重构特性,以便尽可能地简化这个过程。

就品质而言,AndroidX 目前仍被认为是处于 Alpha 阶段,有些变更会破坏兼容性。而且,有些已知的问题,因此,谷歌不建议在生产项目中使用它。

查看英文原文: Google Overhauls the Android Support Library into AndroidX

2018-05-22 19:004357
用户头像

发布了 1008 篇内容, 共 437.4 次阅读, 收获喜欢 346 次。

关注

评论

发布
暂无评论
发现更多内容

【C语言】一维数组

謓泽

C语言 2月月更 一维数组

kube-scheduler源码分析(1)-初始化与启动分析

良凯尔

源码 Kubernetes 容器 源码分析 #Kubernetes#

工作想法小计2/7 - 2/11

非晓为骁

个人成长 开发 工作方式 Go 语言

消息队列存储消息数据的表结构

皓月

「架构实战营」

Kubernetes集群仪表盘dashboard&Kuboard安装Demo

山河已无恙

Kubernetes 2月月更

也许我们可以用另一种角度与观点看待世界所发生的事情,让你有所解答。

叶小鍵

DOM 精通了?请问 Node 和 Element 有何区别?

编程三昧

JavaScript 前端 DOM 2月月更

“元认知”相关学习总结

panda

思维模型 阅读笔记 元认知

LabVIEW生成应用程序(exe)和安装程序(installer)

不脱发的程序猿

LabVIEW 生成应用程序(exe) 安装程序(installer)

技术盘点:2022年云原生架构趋势解读

阿里巴巴云原生

阿里云 架构 云原生 趋势

战略规划和战略解码BLM+BEM

wood

bem 战略制定 300天创作 BLM

LabVIEW跳转访问网页

不脱发的程序猿

LabVIEW 跳转访问网页

技术盘点:2022 年容器、Serverless、可观测、服务网格有哪些值得关注的趋势?

阿里巴巴云原生

阿里云 Serverless 云原生 趋势 可观测

架构训练营 毕业设计

ren

技术盘点:云原生中间件的技术演进与未来趋势展望

阿里巴巴云原生

阿里云 云原生 中间件 趋势

技术盘点:消息中间件的过去、现在和未来

阿里巴巴云原生

阿里云 云原生 中间件 消息队列 EventBridge

AI赋能安全技术总结与展望| 社区征文

herosunly

人工智能 新春征文 2月月更

一文带你了解 Java 的内存区域

宇宙之一粟

Java 内存 2月月更

鸿蒙学习笔记之使用 XML 方式创建布局

宇宙之一粟

鸿蒙 java UI 2月月更

gopher成长之路(四):GO开发工程师写QT

非晓为骁

个人成长

RPA进阶(一):走近 RPA 世界

No Silver Bullet

RPA 机器人流程自动化 2月月更

Go反射的三大法则

linlh

反射 元编程 Go 语言 2月月更

电子书《大型组织深入推广零代码应用平台的行动指南》正式发布!

明道云

Lyft微服务研发效能提升实践 | 2. 优化快速本地开发

俞凡

研发效能 大厂实践 2月月更 lyft

AIGC的“含科量”与“含资量”

脑极体

为什么需要单元测试?

蜜糖的代码注释

单元测试 后端开发 2月月更

基于51单片机室内灯光控制系统

DS小龙哥

2月月更

韵达基于云原生的业务中台建设 | 实战派

阿里巴巴云原生

阿里云 云原生 业务中台 合作案例

设计消息队列存储消息数据的 MySQL 表格

swallowluo

架构实战营 #架构实战营 「架构实战营」

显示器选购总结-戴尔2705QM-明基PD2700U

李印

总结 经验分享

Go 并发模式:管道和取消(译)

en

Go

谷歌使用AndroidX代替Android支持库_移动_Sergio De Simone_InfoQ精选文章