写点什么

谷歌使用 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:004388
用户头像

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

关注

评论

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

快上车!第十七届全国大学生智能汽车竞赛百度创意组来啦

百度大脑

产品更新 | 云原生综合运维平台SchedulX V 0.2.0 已发布,支持部署服务至云服务器

星汉未来

OpenHarmony移植:如何适配utils子系统之KV存储部件

华为云开发者联盟

LiteOS OpenHarmony utils KV存储部件

2022中国化妆品行业发展趋势洞察

易观分析

化妆品行业

燃气表场景物联解决方案

😌

IoT 燃气

保证业务高效运营 专有云虚拟网络是关键

百度开发者中心

面试官:linux零拷贝的原理是什么?

CRMEB

MySQL是怎么保证redo log和binlog是完整的?

华为云开发者联盟

MySQL Binlog Redo Log WAL机制 日志逻辑序列号

数字人民币 为经济添活力

CECBC

博文干货|Apache InLong 使用 Apache Pulsar 创建数据入库

Apache Pulsar

开源 架构 云原生 Apache Pulsar apache 社区

频繁项集挖掘算法在告警关联中的应用

云智慧AIOps社区

算法 告警

云防火墙:防御企业上云“亿”点网络攻击

青云技术社区

用了区块链技术,破产清算办案更透明了!

CECBC

大力发展区块链技术,做好数字经济“新基建”

CECBC

腾讯WeTest开通微信视频号啦

WeTest

详解基于机器学习的恶意代码检测技术

华为云开发者联盟

机器学习 深度学习 静态分析 恶意代码 恶意代码检测

阿里卖家 Flutter for Web 工程实践

阿里巴巴终端技术

flutter Web 客户端开发 ffw

全球首个开源车路协同数据集发布,促进学界业界跨界融合

百度开发者中心

MySQL是怎么保证redo log和binlog是完整的?

华为云开发者联盟

MySQL Binlog Redo Log WAL机制 日志逻辑序列号

盖世无双之国产数据库风云榜-2022年02月

墨天轮

数据库 GaussDB TiDB 国产数据库

如何高效交付专有云?百度智能云有妙招

百度开发者中心

【Python】第三章(string)

謓泽

Python 2月月更

| 从DevOps到BizDevOps, 研发效能提升的系统方法

阿里云云效

云计算 阿里云 DevOps 云原生 研发

Python代码阅读(第76篇):摄氏温度与华氏温度互转

Felix

Python 编程 阅读代码 Python初学者

网络安全kali渗透学习 web渗透入门 Metasploit基本使用方法

学神来啦

解码北京冬奥沉浸式报道黑科技: 阿里云视频云「互动虚拟演播技术」

阿里云CloudImagine

阿里云 计算机视觉 音视频 视频云 冬奥会

如何基于 Agora Android SDK 在应用中实现视频通话?

声网

人工智能 android 音视频

【网络安全】Agent内存马的自动分析与查杀

H

网络安全 WEB安全

回声嘹亮 之 Go 的 Echo 框架 —— 上手初体验

宇宙之一粟

Go web Go 语言 2月月更

资本热衷的垂直SaaS,如何能大有作为?

ToB行业头条

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