Android O 遷移應(yīng)用官方指南
Android O 引入了若干新的功能和 API,并加入了即便您未對應(yīng)用做任何更改仍可能對其行為產(chǎn)生影響的一些變動。為幫助您做好準備,本文將說明如何執(zhí)行兼容性測試,以及如何更新應(yīng)用以便利用 Android O 的新功能:
1. 確保平臺兼容性
驗證您的應(yīng)用能夠在新版本平臺上全功能運行。在此階段,您不需要使用新的 API,也不需要更改應(yīng)用的 targetSdkVersion,但可能需要進行一些細微的更改。
2. 使用 Android O SDK 構(gòu)建應(yīng)用
當您準備好利用平臺的新功能時,將 targetSdkVersion 更新至 “O”,驗證應(yīng)用是否仍可按預(yù)期方式運行,然后開始使用新的 API。
確保平臺兼容性
這一步的目標是確保應(yīng)用在 Android O 上可照常運行。由于一些平臺變化可能影響應(yīng)用的行為方式,因此可能需要進行一些調(diào)整,但您不需要使用新的 API 或更改 targetSdkVersion。
準備一臺運行 Android O 的設(shè)備
- 如果您有一臺兼容設(shè)備(Pixel、Pixel XL、Pixel C、Nexus 5X、Nexus 6P 或 Nexus Player),請從下面鏈接中包含的下載頁面獲得適合您的設(shè)備的 Android O 系統(tǒng)映像,然后按照說明將映像刷入設(shè)備。(https://developer.android.google.cn/preview/download.html)
- 或下載適用于 Android Emulator 的 Android O 系統(tǒng)映像。它列于 SDK 管理器的 Android O Preview 下,顯示為 Google APIs Intel x86 Atom System Image。
注:Android O 系統(tǒng)映像只能通過 Android Studio 3.0 Canary 下載。如需了解詳細信息,請參閱下面一節(jié)以獲取 Android O SDK。
執(zhí)行兼容性測試
與 Android O 的兼容性測試多半與您準備發(fā)布應(yīng)用時執(zhí)行的測試屬于同一類型。這時有必要回顧一下核心應(yīng)用質(zhì)量準則和測試***做法。
核心應(yīng)用質(zhì)量準則:
(https://developer.android.google.cn/develop/quality-guidelines/core-app-quality.html)
測試***做法:
(https://developer.android.google.cn/training/testing/index.html)
不過,測試還有另一個層面:Android O 向 Android 平臺引入了一些變化,即便不對 targetSdkVersion 做任何變動,仍可能影響應(yīng)用的行為或令其根本無法運行。因此,您必須回顧表 1 中的關(guān)鍵變化,并對任何為適應(yīng)這些變化而實現(xiàn)的修復(fù)進行測試。
表 1. 對運行在 Android O 設(shè)備上的所有應(yīng)用都有影響的關(guān)鍵變化。
如需查看更詳盡的 Android O 行為變更列表,另請參閱以下鏈接中包含的 Android O 行為變更。
(https://developer.android.google.cn/preview/behavior-changes.html)
構(gòu)建具有 Android O 功能的應(yīng)用
如 “如何測試 Android O 應(yīng)用” 章節(jié)中的表 2 所述,除了提供新的 API 外,Android O 還會在您更新 targetSdkVersion 時引發(fā)其他行為變更。本節(jié)說明如何將開發(fā)環(huán)境設(shè)置為以新平臺為目標,以及如何著手構(gòu)建和測試 Android O API 帶來的變化和新功能。
注:上述旨在確保平臺兼容性的步驟是面向 Android O 構(gòu)建應(yīng)用的先決條件,因此請您務(wù)必先完成這些步驟。
獲取 Android O SDK
1. 安裝 Android Studio 3.0 Canary。
只有 Android Studio 3.0 包含對 Android O 提供的所有新開發(fā)者功能的支持。因此您需要獲得 Android Studio 3.0 Canary 版本,以便開始使用 Android O SDK。但您仍可保留已安裝的 Android Studio 穩(wěn)定版。
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 標簽,選中所有已提供更新的項(點擊每個顯示破折號 的復(fù)選框)。這應(yīng)該包括下列必需項:
- 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 軟件包。
現(xiàn)在您就可以開始使用 Android O Developer Preview 進行開發(fā)了。
更新構(gòu)建配置
將 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 is required for the latest
- // support library that is compatible with Android Orepositories {
- maven {
- url 'https://maven.google.com'
- }
- }
您不能在此配置下發(fā)布應(yīng)用。“O” 版本是一個臨時 API 級別,只能用于 Android O Developer Preview 期間的開發(fā)和測試。您必須等到最終 API 級別發(fā)布時再發(fā)布 Android O 變更,屆時再次更新配置。
從清單文件中移除廣播接收器
由于 Android O 引入了新的廣播接收器限制,因此您應(yīng)該移除所有為隱式廣播 Intent 注冊的廣播接收器。將它們留在原位并不會在構(gòu)建時或運行時令應(yīng)用失效,但當應(yīng)用
運行在 Android O 上時它們不起任何作用。
顯式廣播 Intent(只有您的應(yīng)用可以響應(yīng)的 Intent)在 Android O 上仍以相同方式工作。
這個新增限制有一些例外情況。如需查看在以 Android O 為目標平臺的應(yīng)用中仍然有效的隱式廣播的列表,請通過點擊以下鏈接參閱隱式廣播例外。
(https://developer.android.google.cn/preview/features/background-broadcasts.html)
測試 Android O 應(yīng)用
完成以上準備工作后,您就可以構(gòu)建應(yīng)用,然后對其做進一步測試,以確保 Android O 為目標平臺時它能正常工作。這時您可以再次查閱我們的核心應(yīng)用質(zhì)量準則和測試***做法說明文檔。
如果您構(gòu)建應(yīng)用時設(shè)置了適用于 Android O 的 targetSdkVersion,應(yīng)該注意特定的平臺變化。即便您不實現(xiàn) Android O 中的新功能,其中的一些變化仍可能嚴重影響應(yīng)用的行為或令其根本無法運行。
表 2 列出了這些變化以及可獲得更多信息的鏈接。
表 2. targetSdkVersion 設(shè)置為 “O” 時影響應(yīng)用的關(guān)鍵變化。
【本文是51CTO專欄機構(gòu)“谷歌開發(fā)者”的原創(chuàng)稿件,轉(zhuǎn)載請聯(lián)系原作者(微信公眾號:Google_Developers)】