Android O 遷移應用官方指南
Android O 引入了若干新的功能和 API,并加入了即便您未對應用做任何更改仍可能對其行為產生影響的一些變動。為幫助您做好準備,本文將說明如何執行兼容性測試,以及如何更新應用以便利用 Android O 的新功能:
1. 確保平臺兼容性
驗證您的應用能夠在新版本平臺上全功能運行。在此階段,您不需要使用新的 API,也不需要更改應用的 targetSdkVersion,但可能需要進行一些細微的更改。
2. 使用 Android O SDK 構建應用
當您準備好利用平臺的新功能時,將 targetSdkVersion 更新至 “O”,驗證應用是否仍可按預期方式運行,然后開始使用新的 API。
確保平臺兼容性
這一步的目標是確保應用在 Android O 上可照常運行。由于一些平臺變化可能影響應用的行為方式,因此可能需要進行一些調整,但您不需要使用新的 API 或更改 targetSdkVersion。
準備一臺運行 Android O 的設備
- 如果您有一臺兼容設備(Pixel、Pixel XL、Pixel C、Nexus 5X、Nexus 6P 或 Nexus Player),請從下面鏈接中包含的下載頁面獲得適合您的設備的 Android O 系統映像,然后按照說明將映像刷入設備。(https://developer.android.google.cn/preview/download.html)
- 或下載適用于 Android Emulator 的 Android O 系統映像。它列于 SDK 管理器的 Android O Preview 下,顯示為 Google APIs Intel x86 Atom System Image。
注:Android O 系統映像只能通過 Android Studio 3.0 Canary 下載。如需了解詳細信息,請參閱下面一節以獲取 Android O SDK。
執行兼容性測試
與 Android O 的兼容性測試多半與您準備發布應用時執行的測試屬于同一類型。這時有必要回顧一下核心應用質量準則和測試***做法。
核心應用質量準則:
(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 做任何變動,仍可能影響應用的行為或令其根本無法運行。因此,您必須回顧表 1 中的關鍵變化,并對任何為適應這些變化而實現的修復進行測試。
表 1. 對運行在 Android O 設備上的所有應用都有影響的關鍵變化。
如需查看更詳盡的 Android O 行為變更列表,另請參閱以下鏈接中包含的 Android O 行為變更。
(https://developer.android.google.cn/preview/behavior-changes.html)
構建具有 Android O 功能的應用
如 “如何測試 Android O 應用” 章節中的表 2 所述,除了提供新的 API 外,Android O 還會在您更新 targetSdkVersion 時引發其他行為變更。本節說明如何將開發環境設置為以新平臺為目標,以及如何著手構建和測試 Android O API 帶來的變化和新功能。
注:上述旨在確保平臺兼容性的步驟是面向 Android O 構建應用的先決條件,因此請您務必先完成這些步驟。
獲取 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 is required for the latest
- // support library that is compatible with Android Orepositories {
- 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 為目標平臺的應用中仍然有效的隱式廣播的列表,請通過點擊以下鏈接參閱隱式廣播例外。
(https://developer.android.google.cn/preview/features/background-broadcasts.html)
測試 Android O 應用
完成以上準備工作后,您就可以構建應用,然后對其做進一步測試,以確保 Android O 為目標平臺時它能正常工作。這時您可以再次查閱我們的核心應用質量準則和測試***做法說明文檔。
如果您構建應用時設置了適用于 Android O 的 targetSdkVersion,應該注意特定的平臺變化。即便您不實現 Android O 中的新功能,其中的一些變化仍可能嚴重影響應用的行為或令其根本無法運行。
表 2 列出了這些變化以及可獲得更多信息的鏈接。
表 2. targetSdkVersion 設置為 “O” 時影響應用的關鍵變化。
【本文是51CTO專欄機構“谷歌開發者”的原創稿件,轉載請聯系原作者(微信公眾號:Google_Developers)】