遷移你的App到Android O(8.0)

Android O引入了一些新功能和新的API,可能即使你沒有做任何更改也會可能會引起行為的變更,為了幫助你良好的過渡,這篇文章將用來介紹如何執行兼容性測試以及如何更新應用程序以使用Android O的功能。

  • 確保平臺兼容性

驗證你的app在新的系統版本上是否運行正常,在這個階段,不要使用新版本的api和更改targetSdkVersion,但可能會需要進行微笑的更改。

  • 用Android O sdk來構建你的項目

當你準備好利用Android O的新功能時,將targetSdkVersion更新為‘O’,驗證應用程序是否還能正常運行,然后再開始使用新的Api。

操作步驟
操作步驟

確保平臺適配性

這里的目標是確保你的應用程序在Android O上正常工作,由于有時候平臺更改會影響應用程序的運行方式,因此可能需要進行一些調整,但是不需要使用新的APIs和更改你的targetSdkVersion。

步驟
步驟

準備一個設備用來運行Android O

如果你有兼容的設備(Pixel,Pixel XL,Pixel C,Nexus 5X,Nexus 6P,or Nexus Player),獲得Android O的鏡像,然后按照說明來安裝你的鏡像。

執行兼容性測試

在大多數情況下,測試與Android O的兼容性需要在app發布之前來執行相同類型的測試,這是審核質量的最佳時機。

然而,還有另外一方面需要測試,即使你不改變targetSdkVersion,Android O也會對Android平臺進行更改,這些更改有可能會影響應用的行為或者完全破壞app的運行行為。因此,你需要查看下表中的重要更改,并測試你對應用程序的任何修復是否適應更改。

表1.影響Android O設備上運行的所有應用程序的主要更改

QQ20170323-134131.png

用Android O來構建你的項目

接下來介紹如何執行兼容性測試以及如何更新應用程序來適應Android O的功能。

測試
測試

獲取Android O SDK

1、安裝Android Studio 2.4
2、啟動Android Studio 2.4并且打開SDK 管理器點擊Tools -> Android -> SDK Manager
3、在SDK Platforms選項卡中,選擇查看報內容,在Android O Preview之前請檢查一下內容:

  • Android SDK Platform O
  • Google APIs Intel x86 Atom System Image
    4、切換到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
    5、點擊OK安裝選擇的所有SDK包

更新你的build配置

更新compileSdkVersionbuildToolsVersiontargetSdkVersion

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級別,只能用來開發和測試,你必須等到最終的API發布的時候,然后才能再次更新你的應用的配置,并且發布他。

從你的manifest文件中移除廣播接收者

因為Android O為廣播接收器引來了新的限制,所以你需要刪除之前注冊的隱式廣播接收者,將他們放在適當的位置,以便你的app不會在運行或者構建的時候出現問題,當你的程序運行在Android O上時,他們不會有任何影響。

顯式的廣播意圖-那些只有你自己的app才會相應的可以照樣在Android O上運行。

有關仍然適用于Android O的隱式廣播意圖,請參照隱式廣播例外的說明。

測試你的Android O app

完成上述步驟之后,你可以構建你的應用程序然后進一步測試,以確保切換到Android O時能夠正常運行。

當你設置targetSdkVersion為Android O時,你需要注意具體的平臺的更改,其中一些更改可能會影響你的應用的行為,甚至會完全破壞你的應用的功能,即使你沒有添加Android O的新功能。

下表提供了更多的關于Android O的新功能
當targetSdkVersion設置為“O”時影響應用程序的主要更改

QQ20170323-152921.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,557評論 25 708
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,992評論 19 139
  • 文章摘要1、 確保平臺兼容性2、構建具有 Android O 功能的應用3、獲取 Android O SDK4、更...
    Android那些事兒閱讀 779評論 0 49
  • Android O 引入了若干新的功能和 API,并加入了即便您未對應用做任何更改仍可能對其行為產生影響的一些變動...
    谷歌開發者閱讀 1,933評論 4 23
  • 2017年,10月8號,我的愛豆公布戀情了 消息出來之前我還刷過一遍"特別關注"里的"我鹿哥",看著各種呆萌的鹿哥...
    張憲英閱讀 288評論 0 0