澳门新葡亰平台官网开发过程更透明,Google 将 AndroidX 移至 AOSP

by admin on 2020年3月25日

AndroidX 最初是一个小的集合库,旨在为新的 Android 平台 API
提供向后兼容性。因此,它的开发与平台紧密相关,所有工作都在 Google
内部分支先完成,然后再推送至 AOSP
。由于这种保密机制,导致开发者很难为项目做出贡献。开发者若是想进行完整的
AndroidX 构建和测试,就不得不先查看超过 40GB 的 Android 平台代码。

澳门新葡亰平台官网 1

近期,谷歌开发者官方宣布,Flutter 1.7正式发布,这是继上次 I/O
时众多重要功能发布以来的一次小更新。Flutter 1.7 包含了对 AndroidX
的支持,满足了 Play
商店近期对应用提出的要求,包含了一些新的和增强过的组件,修复了开发者们提出的
bug 等。

如今的 AndroidX 的范围已经大大扩展,囊括 AppCompat、Room 和 WorkManager
等库。其中的许多库已实现高级抽象,而不再与 Android
平台的新版本相关联。因此,两年多前,Google 就已经开始将 AndroidX 从
Android 平台版本转移到自己独立的版本控制中。 此次通过将 AndroidX 迁移至
AOSP ,开发者将能够实时查看功能和 bug 修复。

Android 开源项目的代码由一系列 Git
管理的代码库组成。要获得或查看这些代码,需要使用 Git
(一种开源版本控制系统) 和 repo (一种与 Git
相辅相成的代码库管理工具),也正因如此,很多开发者们惯用的工具无法与之很好地配合使用,如
GitHub、Gitweb 等。

澳门新葡亰平台官网 2

按照 Google 的说法,AOSP
是一个进行试验和原型设计的地方。一些新的库会先出现在此存储库中,然后正式合并到现有库,或者是在发布之前被删除,亦或是在
alpha 开发期间进行大幅调整。

通过与 Google 内部负责代码搜索 (Code Search) 同事们合作,并使用 Google
开源的源码分析工具 Kythe,我们非常高兴的为开发者们上线这个 Android
开源代码搜索工具,希望这个工具可以把开源代码更全面的呈现于开发者面前。

支持 AndroidX

澳门新葡亰平台官网 3

目前的功能有:方便的查看、搜索源代码在整个代码库之间进行交叉引用的代码跳转,可以单击源代码的一部分跳转到另一部分在
Android 的开源代码分支之间进行切换 (并非所有分支都有交叉引用信息)

AndroidX 是 Android 团队用于在 Jetpack
中开发、测试、打包和发布库以及对其进行版本控制的开源项目,帮助 Android
应用通过最新的组件保持更新而无需牺牲向后兼容性。目前 AndroidX
已经稳定,很多 Flutter packages 已经更新和支持它,Flutter
现在可以支持创建一个 AndroidX 项目 (new Flutter project with AndroidX)
了,这也减少了与 Android 生态系统集成您所需要做的工作。

来源:SDTimes 
编译:开源中国

除了搜索 Android 开源项目 (AOSP)
的代码之外,我们的代码搜索工具同时提供了 CameraX、Jetpack Compose 等
AndroidX 库的源码搜索。

当创建 Flutter 项目时,可通过添加 –androidx 来确保生成的项目文件支持
AndroidX,更多关于将项目迁移到 AndroidX 的相关信息,请访问
flutter.dev。我们也在积极努力为使用了 AndroidX 和 Android
混合库的应用带去 AndroidX 或 Jetifier 的支持,也会将其作为 add-to-app
中的一项来支持,之后的文章中会为大家带来更多相关的内容。

我们已迈出了第一步,虽然目前并非所有代码库都可以使用交叉引用跳转,随着时间的推移,这部分功能一定会越发完善,我们希望这些可以帮助开发者们更好的使用
Android 开源代码。

支持 Android App Bundles 和 64 位的 Android 应用

本文由 Android 开源代码工程主管 Jeff Bailey,Android 开源代码项目经理
Ally Sillins,开源代码搜索工具技术主管 Kris Hildrum,源码分析引擎 Kythe
技术主管 Jay Sachs 共同为您呈现。

从 2019 年 8 月 1 日开始,为了 target 到 Android Pie 版本,开发者们在
Google Play 上发布的应用必须支持 64 位架构。Flutter 一直都支持生成 64
位的 Android 应用,在 1.7 版本里,谷歌加入了对 Android App Bundles
的支持,开发者们可以在一次提交里同时 target 到 64 位和 32
位。也可以访问文档以了解到如何分别生成 32 位和 64 位的应用等更多内容。

如何分别生成 32 位和 64 位的应用

新一批的widget和框架的增强功能

希望你的应用在任何平台上都可以看起来平滑自然,会持续在平台相关的widgets上投入。

如下所示了一个名为RangeSlider的widget,帮助您在单个滑块上选择一组值:

△RangeSlider widget支持连续或者分散的效果

RangeSlider

更新之后的SnackBar支持了最新的Material规范,文档里增加了许多样例代码。

Cupertino是用来构建精美的iOS体验的widgets库,我们对其进行了大量的更新。特别提出的是,我们提高了CupertinoPicker和CupertinoDateTimePicker
widget的保真度,并增加了对非英语语言本地化的支持。

提高了CupertinoPicker和CupertinoDateTimePicker widget的保真度

提升了iOS上的文本选择和编辑体验。此外,新增了一个示例,关于如何使用同一份代码库,调整不同平台的操作体验和适配。

提升了iOS上的文本选择和编辑体验

文本渲染有了很大的提升,支持了丰富的排版样式:包括数字表格式对齐、旧式风格数字(tabular
and old-style numbers)、斜线零、样式集,如这个示例应用截图所示:

澳门新葡亰平台官网 4

△有了OpenType的字体支持,您可以用Flutter进行复杂的文字排版了

最后,加入了游戏控制器的支持,这会有更好玩的应用出现吗?

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图