Google 开发技术周刊 087 期

Android 8.1 开发者预览版已发布,该版本针对 Android Go 做了相应的优化,并且包含了一个新的的API 用于提高设备人工智能运算方面的性能。
链接: Android 8.1 Developer Preview

Android Studio 3.0 已经正式发布,该版本作为大的版本更新,很大程度上加速了 Android 应用程序的开发速度。

链接:Android Studio 3.0

Go 1.8 版本对于依赖库、运行时、性能和安全方面都做了相应的优化,现在该版本已经可以在标准的 Google App Engine 环境下使用了。

链接:Announcing Go 1.8 on App Engine Standard Environment

现在可以将 Gmail 功能通过开发插件的方式嵌入到自己的应用程序中了。

链接:Gmail add-ons framework now available to all developers

Chrome 63 beta 版本已经发布,其中包含动态模块引用,异步遍历器和生成器,设备内存 API 以及权限相关 UI 的修改。

链接:Chrome 63 Beta: Dynamic module imports, async iterators and generators, Device Memory API, and permissions UI changes

Google Cloud Platform 播客终于发布了第一百期,祝贺 Francesc 和 Mark 以及播客的整个团队。

链接:GCP Podcast hits 100 episodes — here are the 10 most popular episodes

在 Build Out 特辑视频中,Colt 和 Reto 一起为大家展示了通过竞争系统架构设计实现智能花园。整个过程都使用到 Task API。

链接:Who Can Build a Smarter Smart Garden? – Build Out #1

以上是本期 Google 开发技术周刊的主要内容。

Yuan@GDSub Team

快来体验一下新一代 Dex 编译器吧

Android 应用开发者们都知道 Dex 编译是 Apk 构建过程中是很关键的一步,这个过程是将 .class 的字节码转换为 Android 运行时(Android Runtime)所需 的 .dex 字节码(或用于旧版 Android 的 Dalvik 虚拟机)的过程。 Dex 编译器主要在日常应用程序开发中起作用,但它直接影响到应用程序的构建时间、.dex 文件大小和运行时性能。这也就是 Android 开发团队为什么要在 Dex 编译器上花费大量精力进行重要改进原因。现在新一代 Dex 编译器 D8 已经随着 Android Studio 3.0 测试版一同发布了。


与当前的 Dex 编译器进行比较,D8 编译速度更快,并且最后输出的 .dex 文件也更小了,同时兼具更好的应用程序运行时性能。D8 编译器的相关测试如下图:

Dex 编译时间测试

Dex 文件大小对比:DX vs D8

那么怎么才能使用 D8 编译器呢?D8 编译器已经随着 Android Studio 3.0 测试版一起发布了,要使用 D8 编译器很简单,只需要在项目的 gradle.properties 文件中开启如下设置即可:android.enableD8=true。在未来的几个月内 D8 编译器的预览版会随着 Android Studio 3.0 版一起发布。在这期间 Android 开发团队会中断解决从社区收到的任何错误报告。Android 开发团队计划在 Android Studio 3.1 版本的时候结束 D8 的预览版并将其作为默认的 Dex 编译器,之后 DX 编译器将进入日常维护模式并只修复一些较为严重的 Bug。

除了 D8 编译之外,Android 开发团队也在开发一个名为 R8的 Proguard 的替代品,目前 R8 已经开源但还木有集成进 Android Gradle 插件里,但是已经向社区提供了预览版,再过段时间 Android 开发团队将会公布 R8 的更多详细信息。

而对于工具开发者而言要做好让字节码工具迎接 Java 8 的准备,4月份的时候 Android 开发团队宣布推出解析 Java 8 语言特性语法糖的功能。 这个过程会发生在Java编译(javac)之后,以及任何字节码读取或重写工具之前。 作为 D8 的一部分,在接下来的几个月中,这个过程将被移入整个流程的最后一步执行。 这将使我们能够进一步缩短整体构建时间并生成更优化的代码。 这种改变意味着任何字节码读取或重写工具都将在最后一步之前执行解析 Java 8 语言特性语法糖的步骤。 如果你为Android 开发了.class 字节码读取或重写工具,则需要确保在 D8 内执行解析 Java 8 语言特性语法糖时,它们可以正确的处理 Java 8 字节码的格式。

一些有用的 Link

  1. 测试基准项目
  2. Android Studio Beta
  3. D8 相关问题反馈

编译:谷饭  原文:Android Developers Blog 配图:Android Developers Blog

Android Things 发布第 5 个预览版

Android Things 的第 5 个开发者预览版(Denveloper Preview 5)已经发布了,其中包括了基于即将推出的 Android O 版本的重大变化。 Android Things 是可让 Android 开发人员创建物联网(IoT)设备,并从原型到生产无缝扩展的平台。

此次 PD5 预览版有很多更新,首先 DP5 基于即将发布的 Android O(之前的版本基于 Android N),这就意味着我们开发的 Android Things 应用在未来也可以在 API 26 上正常工作,这是系统层面的一点更新,次外 DP5 也添加对新型硬件 NXP SprIoT i.MX6UL 的支持,NXP Pico i.MX6UL 的一些基本配置信息如下:

除次之外还有一些其他的改进,例如可以使用 UserDriver APIRaspberry Pi 3 上支持 OpenGL ES 2.0 和 WebView、为 Raspberry Pi 3 实现了动态引脚复用 (dynamic pin muxing) 、一些 Android Things 的示例也可以通过 Android Studio 直接导入和查看等等。

编译:谷饭  原文:Android Developers Blog 配图:Android Developers Site