应用迁移至 Android P 操作指南

Android P 已经按照既定的计划进入到了 Beta 2 版本,且终版 API 也已经发布。相信大家已经对 Android P 所带来的行为变化以及新功能有了足够的了解。本文将详细说明如何将您的应用迁移至 Android P,确保兼容性以及充分利用 Android P 的新功能。尽早将您的应用完成迁移,为用户们提供最新、最稳定的优良体验吧!

△ 终版 API 已经发布,您的应用完成迁移了吗?

第一步:确保兼容 Android P

此处的目标是确保您的现有应用在 Android P (API 级别 P) 上照常运行。由于一些平台变化可能影响应用的行为方式,因此可能需要进行一些调整,但您不需要使用新的 API 或更改 targetSdkVersion。

准备一台运行 Android P 的设备

  • 如果您有一台兼容设备 (Pixel、Pixel XL、Pixel 2、Pixel 2XL),请从下载页面获取适合您的设备的 Android P 系统映像,然后按照说明将映像刷入设备。
  • 或下载适用于 Android Emulator 的 Android P 系统映像。它列于 SDK Manager 的 Android P Preview 下,显示为 Google APIs Intel x86 Atom System Image。

执行兼容性测试

与 Android P (API 级别 P) 的兼容性测试多半与您准备发布应用时执行的测试属于同一类型。这时回顾一下核心应用质量指南测试最佳实践是有必要的。

不过,测试还有另一个层面:Android P 向 Android 平台引入了一些变化,即便不对 targetSdkVersion 做任何变动,仍可能影响应用的行为或令其根本无法运行。因此,您必须回顾表 1 中的关键变化,并对任何为适应这些变化而实现的修复进行测试:

△表 1. 对运行在 Android P 设备上的所有应用都有影响的关键变化 可点击查看Android P 行为变更文档

第二步:更新您的目标版本并使用 Android P 功能

此部分解释如何通过将您的 targetSdkVersion 更新到 P 并增加 Android P 中提供的新功能来实现对 Android P (API 级别 P) 的全面支持。

除提供新 API 之外,在您将 targetSdkVersion 更新到 P 时,您会注意到 Android P 还引入了一些行为变更。由于某些行为变更可能要求更改代码以避免冲突,因此,您应先查阅所有适用于针对 Android P 开发的应用的行为变更,了解在您更改 targetSdkVersion 后您的应用会受到哪些影响。

注:上述旨在确保平台兼容性的步骤是针对 Android P 构建应用的先决条件,因此请您务必先完成这些步骤。

获取 Android P SDK

您可以使用 Android Studio 3.1 或更高版本获取 SDK 包,以便利用 Android P (API 级别 P) 构建应用。如果您暂时不需要 Android P 中的新功能,只想针对该平台版本进行编译,您可以使用 Android Studio 3.1。Android Studio 3.2 提供了对 Android P 功能的全面支持。

测试 Android P 应用

完成以上准备工作后,您就可以构建应用,然后对其做进一步测试,以确保 Android P (API 级别 P) 为目标平台时它能正常工作。这时有必要再次回顾一下上文中提到的核心应用质量指南和测试最佳实践。

如果您构建应用时将 targetSdkVersion 设置为 P,应该注意特定的平台变化。即便您不实现 Android P 中的新功能,其中的一些变化仍可能严重影响应用的行为或令其根本无法运行。具体请查看表2:

△ 表 2. targetSdkVersion 设置为 “P” 时影响应用的关键变化 要想探究 Android P (API 级别 P) 提供的新功能和新 API,请查看 Android P 功能和 API 文档.

即刻行动,将您的应用迁移至 Android P,为您的用户带来更多惊喜体验吧!

国内测试平台

为了能够让产品开发者能够更好的定位和复现产品在适配 Android P 过程中存在的问题,腾讯质量开放平台 WeTest 继续为国内开发者们免费 (具体免费时段由该测试平台决定) 开放 Android P Beta 2 云真机远程调试及标准兼容服务。

点击查看了解 WeTest 更多 Android P 开发者预览版测试相关信息及福利

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏C#

DotNet加密方式解析--非对称加密

    新年新气象,也希望新年可以挣大钱。不管今年年底会不会跟去年一样,满怀抱负却又壮志未酬。(不过没事,我已为各位卜上一卦,卦象显示各位都能挣钱...)...

4948
来自专栏闻道于事

js登录滑动验证,不滑动无法登陆

js的判断这里是根据滑块的位置进行判断,应该是用一个flag判断 <%@ page language="java" contentType="text/html...

7058
来自专栏我和未来有约会

Silverlight第三方控件专题

这里我收集整理了目前网上silverlight第三方控件的专题,若果有所遗漏请告知我一下。 名称 简介 截图 telerik 商 RadC...

4055
来自专栏张善友的专栏

Silverlight + Model-View-ViewModel (MVVM)

     早在2005年,John Gossman写了一篇关于Model-View-ViewModel模式的博文,这种模式被他所在的微软的项目组用来创建Expr...

3008
来自专栏落花落雨不落叶

canvas画简单电路图

64311
来自专栏Golang语言社区

【Golang语言社区】GO1.9 map并发安全测试

var m sync.Map //全局 func maintest() { // 第一个 YongHuomap := make(map[st...

4798
来自专栏一个会写诗的程序员的博客

Spring Reactor 项目核心库Reactor Core

Non-Blocking Reactive Streams Foundation for the JVM both implementing a Reactiv...

2212
来自专栏pangguoming

Spring Boot集成JasperReports生成PDF文档

由于工作需要,要实现后端根据模板动态填充数据生成PDF文档,通过技术选型,使用Ireport5.6来设计模板,结合JasperReports5.6工具库来调用渲...

1.2K7
来自专栏转载gongluck的CSDN博客

cocos2dx 打灰机

#include "GamePlane.h" #include "PlaneSprite.h" #include "BulletNode.h" #include...

5616
来自专栏魂祭心

原 canvas绘制clock

4194

扫码关注云+社区