聚焦 Android 11: Android 11 应用兼容性
在往期 #11WeeksOfAndroid 系列文章中我们介绍了 联系人和身份 、 隐私和安全 ,本期将聚焦 Android 11 兼容性 。我们将为大家陆续带来 #11WeeksOf
作者 / Android 产品经理 Diana Wong 在往期 #11WeeksOfAndroid 系列文章中我们介绍了 联系人和身份 、 隐私和安全 ,本期将聚焦 Android 11 兼容性 。我们将为大家陆续带来 #11WeeksOfAndroid 内容,深入探讨 Android 的各个关键技术点,您不会错过任何重要内容。 Android 11 兼容性 本期我们将重点探讨 Android 11 兼容性这一对所有开发者都非常重要的主题。对于 Android, 应用兼容性一词指应用可以在特定版本的 Android (通常是最新版本) 上正常运行。 您可以前往官方网站详细获取可帮助您进行兼容性测试的资源,以及本期所有关于该领域的实用内容和资源! 更轻松实现应用与 Android 11 兼容 在每次版本更新中,我们都希望尽量减少应用适配 Android 所需的工作。在 Android 11 中,我们添加了新的流程、开发者工具和版本发布里程碑,以帮助我们最大程度地减少平台更新带来的影响,更轻松实现应用的兼容性。 请继续阅读,详细了解我们如何简化 Android 11 中的应用测试和调试流程。 在 Android 11 上测试 测试应用是否兼容 Android 新版本可能面临很多挑战,尤其是应用在受到多个平台变更影响的情况下。此过程中可能会出现很多问题: 开发者社区为我们提供了大量相关问题的优质反馈。在 Android 11 中,我们为平台添加了以下新工具,并在 Android Studio 中添加了新功能,因此您可以更加轻松的进行测试。 适于测试平台变更的新工具 和往年的更新一样,Android 11 的一些平台变更可能会影响您的应用。尽管这些变更对于提升平台性能至关重要,但我们会尽可能将这些变更安排在平台的最新 targetSDKVersion 之后,以便减少对您的应用的直接改动。在 Android 11 中,我们还会将更多此类平台变更添加到新的 兼容性框架 中。 什么是兼容性框架? 您可以使用全新开发者工具,针对包含在兼容性框架内的变更对应用进行测试和调试。 例如,我们已将包含在兼容性框架内的变更设为可切换,您可以通过设备的开发者选项或使用 Android ADB 强制启用或停用单个变更。Android 平台会自动调整内部 API 逻辑,因此您无需更改 targetSDKVersion 或重新编译应用,即可执行基本测试。此外,您可以隔离各项变更,从而节省发现和调试应用中问题所需的时间。 选择要测试的变更 在切换变更的启用/停用状态之前,您应该通读 行为变更列表,确定哪些变更可能会影响您的应用。包含在兼容性框架内的变更已在变更描述前列出相应的 Change ID 和 Change Name。 一般来说,我们建议您从 影响所有应用的行为变更 开始测试,因为无论 targetSDKVersion 如何,这些变更都可能对您的应用造成影响。我们用下面这个 targetSDKVersion 控制的变更为例,说明您可以如何在不使用其他 targetSDK 重编译应用的情况下,对这些变更进行测试。 在 后台位置访问变更 中,请求始终在后台访问位置的应用会受影响。如果您的应用受到这一变更的影响,那么从该变更开始测试是不错的选择。此变更的名称为 BACKGROUND_RATIONALE_CHANGE_ID,变更 ID 为 147316723。您需要先使用这些信息启用此变更,然后再测试应用因此受到的影响。 单独测试变更 确定要测试的变更后,您可以使用开发者选项切换此变更的启用/停用状态。如要使用开发者选项,请打开设备上的 "设置" 应用,导航至 系统 > 高级 > 开发者选项 > 应用兼容性变更 。 开发者选项中可切换的平台变更,后台位置访问变更已启用 在本例中,BACKGROUND_RATIONALE_CHANGE_ID 是唯一已启用的变更,旨在最大程度缩小应用可能遇到的各种问题的原因范围。 您也可以使用 Logcat 或 ADB 识别已启用的变更,或 使用 ADB 切换变更的启用/停用状态。请注意应用情况,您只能在使用可调试应用时切换变更。 测试和调试应用 启用变更后,您可以使用常用的测试工作流来测试和调试应用。如遇到问题,请查看日志,确定问题的原因。如果不确定问题是否由已启用的平台变更引起,您可以尝试停用此变更,然后重新测试应用的同一模块。 (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |