今天我们来抢先预览一下 Oreo 的升级版本 —— Android 8.1。这次升级涵盖了针对多个功能的提升优化,其中包含对 Android Go (设备运行内存小于等于 1 GB)和加速设备上对机器学习的全新神经网络 API(Neural Networks API)。我们也基于 Oreo 用户与开发者的反馈做出了对应的局部优化。
现在我们推出开发者预览版,确保您的 App 已经做好准备;我们一直在与硬件厂商合作,帮助发布这次的新版本。建议您即刻开始使用新版本,我们预计正式版 Android 8.1 会在 12 月发布。
从 Pixel 或者 Nexus 设备上获取 Android 8.1 开发者预览版十分简单,只需要加入 Android Beta 计划,不久就会收到 Android 8.1 beta 版下载推送。如果您在较早之前已经加入该计划,则无需再次申请。开发者预览版支持机型包括新版 Pixel 2、Pixel 2 XL,Pixel, Pixel XL, Pixel C, Nexus 5X, Nexus 6P, Nexus Player 和 Android 模拟器。
Android 8.1 有哪些新变化?
Android 8.1 为您带来全平台最新优化,漏洞修复和安全补丁,同时还添加了一些新功能和新开发者 API (API level 27) 。来看看有哪些吧:
Android Go 内存优化和支持 —— Android 8.1 包含的一系列针对 Android Go(1GB 或更少的运行内存) 设置的内存优化:我们增加了一些硬件特性常量,帮助开发者可以针对普通配置或者低内存的 Android 8.1 以上设备分发应用时有效拆分 APK。
神经网络 API:作为向 Android 引入机器学习计划的一部分,我们通过 NDK 加入神经网络 API。它使得在设备上实现硬件加速的推理(inference)操作。我们设计了神经网络 API 用于机器学习框架的一个功能层, 如 TensorFlow Lite —— 谷歌将要推出的移动设备跨平台机器学习框架,以及其他 API, 例如 Caffe2 。敬请期待 TensorFlow Lite 的公告。
Autofill 升级:我们一直努力扩展 Autofill 框架,改善密钥管理和其他 Autofill 服务的使用体验。在此次升级中,我们处理了一些来自开发者的请求,并且添加了一些功能和 API。例如,增加了 Autofill 服务在管理保存(Save)对话框方面的灵活度:支持定制化对话框,管理对话框内文字,可以通过验证程序决定是否显示文字。同时,Service 还可以通过 setAutofillOptions 简化信用卡到期日的设定。
共享内存 API: 这款新 API 能够让 App 分配共享内存,更快速读取到共享数据。App 可以通过此 API 创建并且映射匿名共享内容,同时对此进行保护控制。这个 API 在支持自定义序列化 (parcelable) 的同时对 AIDL (Android Interface Definition Language) 友好,还开放了一些实用的功能如移除写入权限等。
获取更多开发新特性,请查阅包含差别报告和升级后 API 参考文档的 Android 8.1 版本介绍页面:(https://developer.android.google.cn/preview/api-overview.html)
在 Android 8.1 上测试您的 App
考虑到正式版即将于 12 月发布,开发者现在就应该开始测试自己的 App,这样才能保证用户将系统更新到 8.1 的时候, 能够无缝流畅体验您的 App。
现在就让设备加入 Android Beta 项目,下载最新更新,然后从 Google Play 安装您的 App 进行测试。如果没有 Pixel 或者 Nexus 设备,可以通过 Android 8.1 虚拟器进行测试。请修复所有遇到的错误,并将新版本的 App 上传到 Google Play,您无需更改 App 的操作系统定向。
利用新功能和 API 开发
如果您已经准备好,现在就可以开始启用 Android 8.1 的新功能和 API(最终版为 API Level 27)。想要全面了解新功能,请查阅 Android 8.1 for Developers:(https://developer.android.google.cn/preview/api-overview.html)
与此同时,您也可在您的 App 上加入更多Android Oreo 版本上的功能,了解更多内容请参考 Android Oreo 的介绍网站。
(https://developer.android.google.cn/about/versions/oreo/android-8.0.html)
如果您的应用包含表单,请务必尝试使用 Autofill(自动填写)功能来让用户获得更进一步的便利。请在设置里打开 “Autofill with Google” 或者类似的服务并测试表单,从而确保自动填写工作正常。我们强烈建议针对表单字段提供详细的提示,并且将您的网页端和移动端联动起来,这样登录信息可以在二者间通用。
如果您的应用支持 Camera2 API 并且您手边有 Pixel 2 设备,您可以尝试使用 Pixel Visual Core 的一个早期版本。Pixel Visual Core 是谷歌第一款应用在消费级设备上进行图像处理和机器学习而定制的协同处理器。想要通过 Pixel Visual Core 测试 HDR+,只需打开全新的开发者选项 “Camera HAL HDR+”(并确保 CONTROL_ENABLE_ZSL 被设置为 true)。
借助 Android Studio 加快开发流程
在为 Android 8.1 进行开发前,我们建议您前往 Android Studio 稳定版页面,更新到 Android Studio 3.0。在全新的性能分析工具之上,Android Studio 3.0 还支持 Kotlin 语言和 Gradle 优化,让开发者能够能方便使用 Android Oreo 功能,如Instant Apps、XML 字体、可下载字体和自适应图标。
我们也建议开发者前往 Google Maven Repository 将 Android 支持库更新到版本 Android 支持库 27.0.0。在全新版本中:提高从后台线程中读取 “paged” 数据效率的 ContentPager 库;Autofill 方法的 ViewCompat 包装;以及提升对穿戴设备上低消耗模式支持的 AmbientMode “无头碎片” (headless fragment),以及全屏受信任的网页活动(Trusted Web Activities),等等。想了解更多信息,请查阅版本内容:
(https://developer.android.google.cn/topic/libraries/support-library/revisions.html#27-0-0)
可以将您项目的 compileSdkVersion 升级到 API 27 版本,从而和 Android O APIs 官方发布版本兼容。同时我们建议开发者将 App 的 targetSdkVersion 也升级到 API 27,用于检测是否有禁用的兼容性行为。请阅读以下指南,查看如何构建 Android 8.1 开发环境。
(https://developer.android.google.cn/preview/setup-sdk.html)
在 Google Play 上发布新版本
Android 8.1 API,即 API level 27 已经完成最终发布,因此 Google Play 对基于 API 27 进行编译的App也已经全面开放。当您准备好以后,可以通过 Alpha、Beta 或者用户版渠道发布 APK 更新。
确保 App 更新以后能够在 Android 8.1 和其他旧版本上运行。我们建议开发者使用 beta 测试功能,从部分用户群中先获取反馈,然后再进行多级发布。期待见到您的更新!
欢迎反馈
您的反馈对我们十分宝贵,所以请留言说出您的想法。也可以通过访问以下链接提交反馈:(https://developer.android.google.cn/preview/feedback.html) 。我们为您准备了多种模板,分别用于不同话题,包括 Android 平台和工具问题、App 兼容性问题以及第三方 SDK 和工具问题。此外我们还为神经网络 API 问题准备了专门的检索条目。同时您也可以通过 Android 开发者论坛或者 Android Beta 论坛提交反馈,帮助我们顺利发布 Android 8.1 正式版本。