把握行业变革关键节点,12 月 19 日 - 20 日,AICon北京站即将重磅启幕! 了解详情
写点什么

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

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

关注

评论

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

架构训练营模块八作业

Geek_e0c25c

架构训练营

数据治理方法论和实践小百科全书

王知无

一脚踢你进Go语言大门!入门者必看,万字长文,建议收藏!

微客鸟窝

Go 语言

架构训练营模块8作业

Neil43

架构训练营

如何打造高效好用的终端?拿来吧你!

童欧巴

大前端 iterm2 Oh My Zsh

模块8作业 消息队列MySQL数据结构

TH

架构实战营

从HTTP到HTTPS

喵叔

7月日更

2.1如何设计可拓展的架构

Lemon

架构

What's JVM-垃圾收集器与内存分配策略

CodeWithBuff

Java JVM 垃圾回收机制

架构实战营 模块八作业

夏日

架构实战营

我写过的关于成长/面试/职场进阶的文章

王知无

在线标准程序员计算器

入门小站

工具

工业互联网赋能 浪潮云洲助力区域品牌“走出去”

工业互联网

微信架构图

Geek_36d3e5

【LeetCode】减小和重新排列数组后的最大元素Java题解

Albert

算法 LeetCode 7月日更

我们在学习Spark的时候,到底在学习什么?

王知无

模块八:课后作业

菲尼克斯

架构实战营

深入学习WebSockets概念和实践

devpoint

socket websocket 7月日更

模块八 作业

CR

Python OpenCV 霍夫(Hough Transform)直线变换检测应用

梦想橡皮擦

7月日更

架构实战营模块8作业

Vic

架构实战营

悟了!树,二叉树,哈夫曼树...

Ayue、

数据结构

如何写好一份技术简历

慕枫技术笔记

面试 后端 简历

模块8学习总结

TH

架构实战营

字节跳动Go 网络库netpoll源码解析

xumc

字节跳动 Go 语言

Rust从0到1-并发-线程

rust 线程 并发 Thread Concurrency

【Flutter 专题】86 初识状态管理 Bloc (一)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 7月日更

架构实战营 模块八作业

Dylan

架构实战营

Linux之tar命令

入门小站

Linux

作业表设计

大肚皮狒狒

如何理解领域驱动设计

escray

学习 极客时间 7月日更 如何落地业务建模

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