报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

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

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

关注

评论

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

初次见面

KAMI

谈谈控制感(4):损失的后果很严重

史方远

职场 心理 成长

阿里巴巴泰山版《Java 开发者手册》,也是一份防坑指南

古时的风筝

Java规范 Java开发手册

网站系统架构演进

Janenesome

读书笔记 程序员 架构 系统设计

服务发现:ZooKeeper vs etcd vs Consul

Tux Hu

Docker 容器 微服务 etcd Consul

一篇文章搞定Java处理Excel的各种疑难杂症

知春秋

Java Excel POI

经历过疫情,你懂得了什么

Winann

疫情 个人成长 生活 成长

数列找规律的问题

oldj

数学

回“疫”录(17):返宁的前一天

小天同学

疫情 回忆录 现实纪录 纪实

记一次MHA切换故障踩的坑

一个有志气的DB

MySQL 高可用 复制 主从同步 故障分析

谈谈双亲委派模型的第四次破坏-模块化

寻筝

Java JVM

程序员的晚餐 | 5 月 15 日 如果不写代码了,那就开个饺子店

清远

美食

决战下半场:小程序技术助力金融APP重回C位

FinClip

小程序 数字化转型 app重构

游戏发行中学到的重要经验(严肃长文)

谢锐 | Frozen

独立开发者 游戏开发 游戏出海 移动互联网

找一个更好的理由

史方远

职场 成长 工作

看完这篇HTTP,跟面试官扯皮就没问题了

苹果看辽宁体育

https okhttp

“四个维度” 讲明白什么是微服务!

攀岩飞鱼

微服务 单体系统 架构设计 团队组织 康威定律

高仿瑞幸小程序 09 云数据库初体验

曾伟@喵先森

小程序 微信小程序 大前端 移动

Leetcode 556. Next Greater Element III

隔壁小王

算法

如何在 Mac 上优雅的截图和录屏

Winann

macos 效率 效率工具 Mac

战略懒惰有多可怕

Neco.W

创业 重新理解创业 初创公司

JVM源码分析之Object.wait/notify实现

猿灯塔

JVM

Web3极客日报#140

谢锐 | Frozen

区块链 独立开发者 技术社区 Rebase Web3 Daily

elasticsearch源码解析(一)——restapi

罗琦

elasticsearch 源码分析 RESTful

Azure App 部署Django 和 PostgrSQL

yann [扬] :曹同学

Python azure

Java实现Base64

Java

浅析 - CocoaLumberjack 3.6 之 DatabaseLogger

Edmond

ios sqlite log4j CocoaLumberjack DDLog

零基础如何学架构

兆熊

架构

奔腾吧,“后浪”李子柒!

无量靠谱

网红

为什么软件开发很难外包

刘华Kenneth

外包 DevOps 风险 背锅

游戏夜读 | Scikit-learn的2018自述

game1night

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