Android O 引入了若干新的功能和 API,并加入了即便您未对应用做任何更改仍可能对其行为产生影响的一些变动。为帮助您做好准备,本页面将说明如何执行兼容性测试,以及如何更新应用以便利用 Android O 的新功能:
验证您的应用能够在新版本平台上全功能运行。在此阶段,您不需要使用新的 API,也不需要更改应用的 targetSdkVersion,但可能需要进行一些细微的更改。
当您准备好利用平台的新功能时,将 targetSdkVersion 更新至“O”,验证应用是否仍可按预期方式运行,然后开始使用新的 API。
如果您有一台兼容设备(Pixel、Pixel XL、Pixel C、Nexus 5X、Nexus 6P 或 Nexus Player),请从下载页面获得适合您的设备的 Android O 系统映像,然后按照说明。
或下载适用于 Android Emulator 的 Android O 系统映像。它列于 的 Android O Preview 下,显示为 Google APIs Intel x86 Atom System Image。
注:Android O 系统映像只能通过 Android Studio 2.4 Canary 下载。如需了解详细信息,请参阅下面一节以。
安装 Android Studio 2.4 Canary。
只有 Android Studio 2.4 包含对 Android O 提供的所有新开发者功能的支持。因此您需要获得 Android Studio 2.4 Canary 版本,以便开始使用 Android O SDK。但您仍可保留已安装的 Android Studio 稳定版。
启动 Android Studio 2.4,然后点击 Tools > Android > SDK Manager 打开 SDK 管理器。
在 SDK Platforms 标签中,选中 Show Package Details。在 Android O Preview 下选中下列项:
Android SDK Platform O
Google APIs Intel x86 Atom System Image(只需在使用模拟器时选中)
切换到 SDK Tools 标签,选中所有已提供更新的项(点击每个显示破折号的复选框)。这应该包括下列必需项:
Android SDK Build-Tools 26.0.0(rc1 或更高版本)

Android SDK Platform-Tools 26.0.0(rc1 或更高版本)
Android Emulator 26.0.0
Support Repository
点击 OK 安装所有选定的 SDK 软件包。
现在您就可以开始使用 Android O Developer Preview 进行开发了。
将 compileSdkVersion、buildToolsVersion、targetSdkVersion 和 Support Library 版本更新为下列版本:
android {
compileSdkVersion 'android-O'
buildToolsVersion '26.0.0-rc1'
defaultConfig {
targetSdkVersion 'O'
}
...
}
dependencies {
compile 'com.android.support:appcompat-v7:26.0.0-alpha1'
}
您不能在此配置下发布应用。“O”版本是一个临时 API 级别,只能用于 Android O Developer Preview 期间的开发和测试。您必须等到最终 API 级别发布时再发布 Android O 变更,届时再次更新配置。nexus迁移
由于 Android O 引入了新的,因此您应该移除所有为隐式广播 Intent 注册的广播。将它们留在原位并不会在构建时或运行时令应用失效,但当应用运行在 Android O 上时它们不起任何作用。
显式广播 Intent(只有您的应用可以响应的 Intent)在 Android O 上仍以相同方式工作。
这个新增限制有一些例外情况。如需查看在以 Android O 为目标平台的应用中仍然有效的隐式广播的列表,请参阅隐式广播例外。
完成以上准备工作后,您就可以构建应用,然后对其做进一步测试,以确保 Android O 为目标平台时它能正常工作。这时有必要回顾一下核心应用质量准则和测试最佳做法。
如果您构建应用时设置了适用于 Android O 的 targetSdkVersion,应该注意特定的平台变化。即便您不实现 Android O 中的新功能,其中的一些变化仍可能严重影响应用的行为或令其根本无法运行。
表 2 列出了这些变化以及可获得更多信息的链接。
表 2. targetSdkVersion 设置为“O”时影响应用的关键变化。

变化
摘要
其他参考资料
隐私性
Android O 不支持使用 net.dns1、net.dns2、net.dns3 或 net.dns4 系统属性。
实行了可写且可执行的代码段
对于原生库,Android O 实行的规则是:数据不应可执行,代码不应可写。nexus迁移
ELF 标头和节验证
动态链接器对 ELF 标头和节头中的更多值进行检查,如果值无效则失败。
通知
以 SDK 的 Android O 版本为目标平台的应用必须实现一个或多个通知渠道,以便向用户发布通知。
方法
该方法的实现不得再调用 ,否则应用将因堆栈溢出而引发异常。
方法
在列表实现中, 现在会引发 ConcurrentModificationException。
如需查看更详尽的 Android O 行为变更列表,请参阅 Android O 行为变更。
要想探究 Android O 提供的新功能和新 API,请参阅 Android O 功能和 API。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shouji/article-48724-1.html
屌丝也不会经常喝