Android O官方版本即将到来

2018-11-16 19:27:32


近期,我们推出了 Developer Preview 开发者预览版 4 做为 Android O 正式版本之前的后一个预览版本,来确保您的应用准备就绪。

这是我们在今年夏天向开发者推出官方 Android O 平台的后预览版。借此机会,您可以尽快地测试并发布您的更新,让您的用户平稳地过渡到 Android O。


向 Android O 迁移您的应用,首先请确保平台兼容性

准备一台 Android O 的设备,如果您有一台兼容设备(Pixel、Pixel XL、Pixel C、Nexus 5X、Nexus 6P、 Nexus Player 或 Android Emulator),请从以下链接中的页面下载

获得适合您的设备的 Android O 系统映像,然后按照以下链接中的说明将映像刷入设备

或下载适用于 Android Emulator 的 Android O 系统映像。它列于SDK管理器的 Android O Preview 下,显示为 Google APIs Intel x86 Atom System Image。

*注意:Android O 系统映像只能通过 Android Studio 3.0 Canary 下载 

如果您的设备已注册 Android 测试版,则会在近期收到 Developer Preview 4 的更新。如果您尚未注册您的设备,只需访问 Android 测试版网站即可注册并获得更新。

Developer Preview 4 开发者预览版更新

开发者预览 4 是 Android O 的候选版本,您可以使用它来完成开发和测试即将推出的正式版本。它包括终的系统行为、新的错误修复、优化、以及开发者预览版 3 已经可用的新 API(API level 26)。

不久之前,我们发布了 Developer Preview 4 设备系统镜像,以及稳定版本的 Android 26.0.0 支持库。我们也将在近期进行 SDK,工具和 Android 模拟器系统镜像的增量更新。

我们还推出了一个新版本的 Android 测试支持库 ,其中包含了新的功能,如 Android Test Orchestrator,Multiprocess Espresso 等。请注意即将推出的细节。


 Android O 上为您的应用测试

目前, Developer Preview 4 系统图像为临近的 Android O 版本提供了一个好的方式来测试当前应用程序。现在,通过测试,您可以确保您的应用程序提供用户升级到官方 Android O 平台之后所需的体验,只需在 Android Beta 版计划中注册受支持的设备,即可直接无线更新,也可以从 Google Play 安装您的应用,和测试用户交互流程。应用程序应该确保在功能和外观上正常特别是能正确地处理 Android O 的行为变化:

 如:背景位置限制 (background location limits) 、通知通道 (notification channels) 网络 (networking) 和安全性 (security) 以及标识符 (identifiers) 的变化。

一旦解决了部分问题,请发布您的应用更新到当前的目标级别,以便在用户开始接收 Android O 时可以使用它们。


执行兼容性测试

与 Android O 的兼容性测试多半与您准备发布应用时执行的测试属于同一类型。这时有必要回顾一下以下链接中的 核心应用质量准侧

与 测试佳做法

不过,测试还有另一个层面:Android O 向 Android 平台引入了一些变化,即便不对 tragetSdkVersion 做任何变动,仍可能影响应用的行为或令其根本无法运行。因此,您须回顾以下的关键变化,并对任何为适应这些变化而实现的修复进行测试。

  • 后台位置更新频率下降。参见以下链接中的后台位置限制:

  • 不再支持 net.hostname

  • send(DatagramPacket) 引发新的异常。参见以下链接中的 —— 行为变更:网络连接和 HTTP(S) 连接

  • AbstractCollection 方法引发异常 NullPointerException  参见以下链接中的 —— 行为变更:集合的处理

  • Currency.getDisplayName(null) 引发正常的 NullPointerException 参见以下链接中的 —— 行为变更:语言区域和国际化

从清单文件中移除广播接收器

由于 Android O 引入了新的广播接收器限制,详情请见以下链接:

因此您应该移除所有为隐式广播 Intent 注册的广播接收器。将它们留在原位并不会在构建时或运行时令应用失效,但当应用运行在 Android O 上时它们不起任何作用。

显式广播 Intent(只有您的应用可以响应的 Intent)在 Android O 上仍以相同方式工作。

这个新增限制有一些例外情况。如需查看在以 Android O 为目标平台的应用中仍然有效的隐式广播的列表,请参阅以下链接的隐式广播例外清单。


使用 Android O 功能和 API 增强您的应用程序

运行新版本 Android 的用户通常在下载应用程序,消费内容和进行购买方面为活跃。他们更喜欢支持他们喜爱的应用中的新 Android 功能。对于 Android O,用户比较期待的以下特征:

  • 通知渠道 (notification channels)

  • 应用通知标识 (notification dots)

  • 快速固定 (shortcut pinning) 

  • 画中画 (picture-in-picture)

  • 自动填充 (autofill)


并且随着时间的推移更多用户升级到 Android O 之后,这些功能还可以增加您应用的用户活跃度。

使用 Android O 功能增强应用程序可以帮助您强化与用户的接触、提供新的互动,给他们更多的控制和安全并提高应用性能。一些特征如自适应图标 (adaptive icons), 可下载的字体 (downloadable fonts),和自动调整 TextView (autosizing TextView) 可以简化您的开发并尽量减少您的 APK 大小。其次耗电也是用户关心的问题,用户会感谢您针对应用程序后台执行限制以及 Android O 应用程序的其他重要系统行为进行的优化。


使用 Android Studio 加快开发速度

当您准备为 Android O 构建时,我们建议您更新到新版本的 Android Studio 3.0,可从 canary 渠道下载。除了改进的应用程序性能分析工具、支持 Kotlin 编程语言和 Gradle 构建优化之外,Android Studio 3.0 还使用的有:

  • 免安装应用程序 (Android Instant App)

  • XML 字体

  • 可下载字体

  • 自适应图标

我们还建议您更新到稳定版本的 Android 支持库 26.0.0,现在可从 Google 的 Maven 存储库中获取新的 SDK、工具和虚拟机系统映像。

将它们添加到您的项目,添加 maven.google.com 到您的模块级的 Maven 仓库 build.gradle 文件:


\\\
repositories {
  maven {
      url 'https://maven.google.com'
      // Alternative URL is 'https://dl.google.com/dl/android/maven2/'
  }
}
\\\


然后将所需的库添加到您的 dependencies 中:


\\\
dependencies {
  compile 'com.android.support:appcompat-v7:26.0.0'
}

\\\


您可以将项目的 compileSdkVersion 更新为 API 26,以针对官方的 Android O API 进行编译。我们还建议您将应用的 targetSdkVersion 更新为 API 26 来测试应用程序,以便适用 Android O 的特定变化。



发布您的更新至 Google Play 应用商店

Google Play 已向针对 API 26 编译的应用开放。当您准备好后就可以在 Alpha,Beta 或生产渠道中发布 APK 更新。


为了确保您的更新的应用程序在 Android O 以及旧版本上良好运行。我们建议您使用 Google Play 的 Beta 版测试功能,以获得少量用户的早期反馈,然后分阶段发布。我们很期待看到您的应用更新!