符合 Google Play 的目标 API 级别要求

Google Play 将要求新应用(自 2018 年 8 月 1 日起)和应用更新(自 2018 年 11 月 1 日起)将目标 API 级别至少设为 26 (Android 8.0)。

每个新的 Android 版本都会进行一些变更,从而大幅改进安全性和性能,并提升 Android 的整体用户体验。 部分变更仅适用于那些通过其 targetSdkVersion 清单属性(也称为目标 API 级别)明确声明支持的应用。

当您将应用配置为支持最新的 API 级别时,就可确保用户享受这些改进带来的好处,同时还能继续让您的应用在较早版本的 Android 上运行。支持最新的 API 级别还有助于让您的应用利用平台的最新功能,为用户提供愉悦的体验。

本文重点介绍了一些要点,以帮助您更新目标 API 级别,满足 Google Play 的要求。要继续阅读,请点击您应用的当前 API 级别:

注意:如果您的 Gradle 文件包含清单条目,您可以按照配置版本中的说明,确认或更改应用 Gradle 文件中当前的 targetSdkVersion 值。 或者,您也可以按照 <uses-sdk> 清单元素文档中的说明,使用清单文件中的 android:targetSdkVersion 属性。

Android 5.0(API 级别 21)以下版本

请查看下列每个版本对应的“行为变更”页面,以确保您的应用已将这些版本推出的变更纳入考量:

如要继续,请按照下一部分中的说明操作。

Android 6.0(API 级别 23)以下版本

以下注意事项适用于以 Android 6.0 及更高平台版本为目标的应用:

  • 运行时权限
    • 危险权限只能在运行时授予。您的界面操作流程必须提供授予这些权限的手动启示。
    • 您的应用应尽可能做好准备,以应对权限请求遭拒的情况。例如,如果用户拒绝应用访问设备 GPS 的请求,您的应用应该能够以其他方式继续运行。

如需 Android 6.0(API 级别 23)所推出变更的详尽列表,请查看相应平台版本的行为变更页面。

如要继续,请按照下一部分中的说明操作。

Android 7.0(API 级别 24)以下版本

以下注意事项适用于以 Android 7.0 及更高平台版本为目标的应用:

  • 低电耗模式和应用待机模式

    您应该按照对低电耗模式和应用待机模式进行针对性优化一文的说明设计应用行为;这篇文章的内容也包含在多个平台版本推出的增量变更。

    当设备处于低电耗模式和应用待机模式时,系统的行为如下:

    • 限制网络访问权限。
    • 延迟提醒、同步和作业。
    • 限制 GPS 和 WLAN 扫描。
    • 限制一般优先级的 Firebase 云消息传递消息。
  • 权限变更
    • 系统限制访问应用不公开目录。
    • 在您的应用之外显示 file:// URI 会触发 FileUriExposedException。需要在其应用之外共享文件的开发者应实施 FileProvider
  • 系统禁止链接到非 NDK 库。

如需 Android 7.0(API 级别 24)所推出变更的详尽列表,请查看相应平台版本的行为变更页面。

如要继续,请按照下一部分中的说明操作。

Android 8.0(API 级别 26)以下版本

以下注意事项适用于以 Android 8.0 及更高平台版本为目标的应用:

如需 Android 8.0(API 级别 26)所推出变更的详尽列表,请查看相应平台版本的行为变更页面。

如要继续,请按照下一部分中的说明操作。

翻新您的应用

更新应用的目标 API 级别时,不妨考虑采用最新的平台功能翻新应用,为用户提供愉悦的体验。

检查及更新您的 SDK 和库

请确保您的第三方 SDK 依赖项支持 API 26:部分 SDK 提供商会在清单中发布这项信息;而对于其他 SDK 提供商,则需要再进行调查。如果您使用的 SDK 不支持 API 26,请与 SDK 提供商合作,优先进行处理以解决该问题。

另请注意,您的应用或游戏的 targetSdkVersion 可能会限制对不公开 Android 平台库的访问权;如需了解详情,请参阅链接到平台库的 NDK 应用

您还应确认正在使用的 Android 支持库版本中存在哪些限制。与以往一样,您必须确保 Android 支持库的主要版本与您应用的 compileSdkVersion 兼容。

我们建议您选择不高于支持库主要版本的 targetSdkVersion。您最好更新至最新的兼容支持库,以便利用最新的兼容性功能和问题修复程序。

测试您的应用

适当更新应用的 API 级别和功能后,您应测试部分核心用例。下面仅列举部分建议,旨在引导您进行测试。我们建议您测试以下几项:

  • 您的应用已编译为 API 26,且没有出现错误或警告。
  • 您的应用对用户拒绝权限请求的情况已有应对策略,且会提示用户授予权限。测试方法如下:
    • 转到应用的“应用信息”屏幕,然后停用所有权限。
    • 打开应用,确保不会出现崩溃问题。
    • 执行核心用例测试,并确保系统会再次提示用户授予所需权限。

  • 低电耗模式可呈现预期效果,且不会出现错误。
    • 使用 adb,让测试设备在您的应用正在运行时进入低电耗模式。
      • 测试所有会触发 Firebase 云消息传递消息的用例。
      • 测试所有使用闹钟或作业的用例。
      • 消除后台服务的所有依赖项。
    • 将您的应用设为“应用待机”模式
      • 测试所有会触发 Firebase 云消息传递消息的用例。
      • 测试所有使用闹钟的用例。

  • 处理拍摄的新照片/视频
  • 处理与其他应用共享文件的操作
    • 测试所有与任何其他应用(甚至是来自同一开发者的其他应用)共享文件数据的用例。
    • 测试内容是否在其他应用中可见而不会触发崩溃。

更多信息

在 Google Play 管理中心内选择接收电子邮件,以便接收我们向您发送的 Android 和 Google Play 重要更新及公告,包括每月的合作伙伴简报。