1.8、向 Android O 迁移应用

文章摘要
1、 确保平台兼容性
2、构建具有 Android O 功能的应用
3、获取 Android O SDK
4、更新构建配置
5、从清单文件中移除广播接收器
6、测试 Android O 应用


英文文献

Android O 引入了若干新的功能和 API,并加入了即便您未对应用做任何更改仍可能对其行为产生影响的一些变动。为帮助您做好准备,本页面将说明如何执行兼容性测试,以及如何更新应用以便利用 Android O 的新功能:

  • 1、确保平台兼容性验证您的应用能够在新版本平台上全功能运行。在此阶段,您不需要使用新的 API,也不需要更改应用的 targetSdkVersion,但可能需要进行一些细微的更改。

  • 2、使用 Android O SDK 构建应用当您准备好利用平台的新功能时,将 targetSdkVersion 更新至“O”,验证应用是否仍可按预期方式运行,然后开始使用新的 API。

一、确保平台兼容性

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

1.1、准备一台运行 Android O 的设备

  • a、如果您有一台兼容设备(Pixel、Pixel XL、Pixel C、Nexus 5X、Nexus 6P 或 Nexus Player),请从下载页面获得适合您的设备的 Android O 系统映像,然后按照说明将映像刷入设备
  • b、或下载适用于 Android Emulator 的 Android O 系统映像。它列于 SDK 管理器Android O Preview 下,显示为 Google APIs Intel x86 Atom System Image

:Android O 系统映像只能通过 Android Studio 3.0 Canary 下载。

1.2、执行兼容性测试

与 Android O 的兼容性测试多半与您准备发布应用时执行的测试属于同一类型。这时有必要回顾一下核心应用质量准则测试最佳做法
不过,测试还有另一个层面:Android O 向 Android 平台引入了一些变化,即便不对 targetSdkVersion
做任何变动,仍可能影响应用的行为或令其根本无法运行。因此,您必须回顾表 1 中的关键变化,并对任何为适应这些变化而实现的修复进行测试。

对运行在 Android O 设备上的所有应用都有影响的关键变化。

二、构建具有 Android O 功能的应用

除了提供新的 API 外,Android O 还会在您更新 targetSdkVersion 时引发其他行为变更。本节说明如何将开发环境设置为以新平台为目标,以及如何着手构建和测试 Android O API 带来的变化和新功能。

三、获取 Android O SDK

  • 1、安装 Android Studio 3.0 Canary。只有 Android Studio 3.0 包含对 Android O 提供的所有新开发者功能的支持。因此您需要获得 Android Studio 3.0 Canary 版本,以便开始使用 Android O SDK。但您仍可保留已安装的 Android Studio 稳定版。

  • 2、启动 Android Studio 3.0,然后点击 Tools > Android > SDK Manager 打开 SDK 管理器。

  • 3、在 SDK Platforms 标签中,选中 Show Package Details。在 Android O Preview 下选中下列项:

    • Android SDK Platform O
    • Google APIs Intel x86 Atom System Image(只需在使用模拟器时选中)
  • 4、切换到 SDK Tools 标签,选中所有已提供更新的项(点击每个显示破折号 的复选框)。这应该包括下列必需项:

    • Android SDK Build-Tools 26.0.0(rc2 或更高版本)
    • Android SDK Platform-Tools 26.0.0(rc2 或更高版本)
    • Android Emulator 26.0.0
    • Support Repository
  • 5、点击 OK 安装所有选定的 SDK 软件包。

现在您就可以开始使用 Android O Developer Preview 进行开发了。

四、更新构建配置

将 compileSdkVersion、buildToolsVersion、targetSdkVersion 和 Support Library 版本更新为下列版本:

android { compileSdkVersion 'android-O' buildToolsVersion '26.0.0-rc2' defaultConfig { targetSdkVersion 'O' } ...}dependencies { compile 'com.android.support:appcompat-v7:26.0.0-beta1'}**// REQUIRED: [Google's new Maven repo](https://developer.android.com/studio/build/dependencies.html#google-maven) is required for the latest// support library that is compatible with Android O**repositories { maven { url 'https://maven.google.com' }}

备注 :您不能在此配置下发布应用。“O”版本是一个临时 API 级别,只能用于 Android O Developer Preview 期间的开发和测试。您必须等到最终 API 级别发布时再发布 Android O 变更,届时再次更新配置。

五、从清单文件中移除广播接收器

由于 Android O 引入了新的广播接收器限制,因此您应该移除所有为隐式广播 Intent 注册的广播接收器。将它们留在原位并不会在构建时或运行时令应用失效,但当应用运行在 Android O 上时它们不起任何作用。
显式广播 Intent(只有您的应用可以响应的 Intent)在 Android O 上仍以相同方式工作。
这个新增限制有一些例外情况。

六、测试 Android O 应用

完成以上准备工作后,您就可以构建应用,然后对其做进一步测试,以确保 Android O 为目标平台时它能正常工作。这时有必要回顾一下核心应用质量准则测试最佳做法
如果您构建应用时设置了适用于 Android O 的 targetSdkVersion
,应该注意特定的平台变化。即便您不实现 Android O 中的新功能,其中的一些变化仍可能严重影响应用的行为或令其根本无法运行。

targetSdkVersion 设置为“O”时影响应用的关键变化。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容