Save the date! Android Dev Summit is coming to Sunnyvale, CA on Oct 23-24, 2019.

支持与版本说明

当您使用 Android Q 测试版进行开发和测试时,您可借助两个主要支持渠道。

要与其他使用 Android Q 测试版的开发者讨论问题或交流想法,请加入 Reddit 上的 android_beta 社区

测试版 1

日期:2019 年 3 月
版本号:PPP1.180208.014(Pixel、Pixel XL、Pixel 2、Pixel 2 XL、Pixel 3、Pixel 3 XL)
模拟器支持:x86(32/64 位)
安全补丁程序级别:2019 年 3 月
Google Play 服务:12.4.46
API 差异:API 28 → 测试版 1

一般建议

此测试版仅用于兼容性测试和早期开发。请注意关于此版本的一般注意事项:

  • 此版本可能包含在设备上出现的各种稳定性和性能问题,因此可能不适合在手机或平板电脑上进行日常使用。
  • 众所周知,系统和应用性能会周期性地减缓/卡顿,并且设备可能偶尔无响应。
  • 对于频繁打开和关闭屏幕的使用场景,在此早期版本中,电池续航时间可能会缩短
  • 有些应用可能无法在测试版 1 上正常运行。这其中包括 Google 应用和其他应用。
  • 此早期版本未经兼容性测试套件 (CTS) 批准
  • Android Q 的初始测试版可通过 Android Beta 版计划以 OTA 更新的形式获得。

已知问题

性能和电池

  • 众所周知,系统和应用性能会周期性地减缓/卡顿,并且设备可能偶尔无响应。这些问题可能随着长时间使用而变得更严重。
  • 对于频繁打开和关闭屏幕的使用场景,在此早期版本中,电池续航时间可能会缩短。

新功能

  • 系统会显示启动器图标 - 在 Android Q 中,所有应用任务栏会为设备上安装的每个软件包显示一个启动器图标,但以下情况除外:

    • 系统应用
    • 在各自清单的 <application> 标记内不含任何组件的应用

    重要的是,如果某个应用包含代码但没有可启动的 Activity,则该应用的图标仍会显示在所有应用任务栏中。当用户选择此图标时,系统会将他们转到应用的设置屏幕。

Android Beta Feedback 应用

  • 直接从系统通知中与应用共享屏幕截图可能会导致系统崩溃。为了缓解这一问题,请通过 Google 文件极客应用分享屏幕截图。
  • 如果使用工作资料,授予应用电话权限可能会导致上传失败或导致应用崩溃。为了缓解这一问题,请在应用设置中停用或拒绝授予电话权限。

Android Studio

  • 要编译并使用 Android Q SDK API,请在应用的 build.gradle 文件中设置以下内容:
    • compileSdkVersion "android-Q"
    • buildToolsVersion "29.0.0 rc1"
    • targetSdkVersion "Q"

SDK

  • 当使用 Android Q 模拟器系统映像进行分析时,Android Studio 偶尔会出现延迟。

  • 如果您仍在使用旧版 appcompat 支持库 (com.android.support),则 Android Studio 会生成一个 lint 警告,指出此支持库不应使用其他 compileSdkVersion。版本 28 是 com.android.support 的最终版本,因此我们建议您继续迁移到 AndroidX 库 (androidx.appcompat)。使用 AndroidX 库时不会触发此 lint 警告。

  • 对于测试版 1,android:extractNativeLibs 的默认值已在应用清单文件的 <application> 元素中从 true 更改为 false。如果您的应用以 Android Q 为目标平台、包含本机代码,并且未明确指定 android:extractNativeLibs="false",则应在此应用的清单文件中将 android:extractNativeLibs 设置为 true,以保留该应用的当前行为。要详细了解使用 android:extractNativeLibs="false" 的好处,请参阅避免提取原生库

  • 对于 minSdkVersion="Q" 的应用,编译 app bundle 会失败,并会显示与以下类似的错误消息:

    Execution failed for task ':app:packageDebugBundle'.
        > java.util.concurrent.ExecutionException: com.android.tools.build.bundletool.utils.xmlproto.UnexpectedAttributeTypeException: Attribute 'minSdkVersion' expected to have type 'decimal int' but found:
          namespace_uri: "http://schemas.android.com/apk/res/android"
          name: "minSdkVersion"
          value: "Q"
          resource_id: 16843276
        

    我们希望在测试版周期的以后阶段推出针对此问题的更新。

  • 将 Gradle 3.2.0 用于以 Android Q 为目标平台的项目时,您可能会遇到 lint 相关问题,并看到类似于“无法将 android.jar 转换为可模拟的 jar”的错误消息。此问题不会出现在 Gradle 3.3.0 及更高版本中。

    如果您正在使用以 Android Q 为目标平台的应用,并且无法升级到 Gradle 3.3.0 或更高版本,则可以使用以下解决方法之一:

    • 对发布版本停用 lint
    • 解压缩并重新压缩 android.jar

Android Enterprise

  • 在工作资料中启动的 Activity 不会遵从在设备上设置的主题背景。
  • 如果配置了完全受管设备,并且将额外的 PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED 设置为 false,则设置中不会显示任何搜索栏。
  • 用户限制 DISALLOW_CONFIG_PRIVATE_DNS 还会阻止设备政策管理器在完全受管设备上配置私人 DNS。
  • “设备管理设置”屏幕会显示重复的条目。