1.8魂仍、向 Android O 遷移應(yīng)用

文章摘要
1、 確保平臺(tái)兼容性
2拣挪、構(gòu)建具有 Android O 功能的應(yīng)用
3擦酌、獲取 Android O SDK
4、更新構(gòu)建配置
5菠劝、從清單文件中移除廣播接收器
6赊舶、測試 Android O 應(yīng)用


英文文獻(xiàn)

Android O 引入了若干新的功能和 API,并加入了即便您未對應(yīng)用做任何更改仍可能對其行為產(chǎn)生影響的一些變動(dòng)赶诊。為幫助您做好準(zhǔn)備笼平,本頁面將說明如何執(zhí)行兼容性測試,以及如何更新應(yīng)用以便利用 Android O 的新功能:

  • 1舔痪、確保平臺(tái)兼容性驗(yàn)證您的應(yīng)用能夠在新版本平臺(tái)上全功能運(yùn)行寓调。在此階段,您不需要使用新的 API辙喂,也不需要更改應(yīng)用的 targetSdkVersion捶牢,但可能需要進(jìn)行一些細(xì)微的更改。

  • 2巍耗、使用 Android O SDK 構(gòu)建應(yīng)用當(dāng)您準(zhǔn)備好利用平臺(tái)的新功能時(shí)秋麸,將 targetSdkVersion 更新至“O”,驗(yàn)證應(yīng)用是否仍可按預(yù)期方式運(yùn)行炬太,然后開始使用新的 API灸蟆。

一、確保平臺(tái)兼容性

這一步的目標(biāo)是確保應(yīng)用在 Android O 上可照常運(yùn)行亲族。由于一些平臺(tái)變化可能影響應(yīng)用的行為方式炒考,因此可能需要進(jìn)行一些調(diào)整,但您不需要使用新的 API 或更改 targetSdkVersion霎迫。

1.1斋枢、準(zhǔn)備一臺(tái)運(yùn)行 Android O 的設(shè)備

  • a、如果您有一臺(tái)兼容設(shè)備(Pixel知给、Pixel XL瓤帚、Pixel C、Nexus 5X涩赢、Nexus 6P 或 Nexus Player)戈次,請從下載頁面獲得適合您的設(shè)備的 Android O 系統(tǒng)映像,然后按照說明將映像刷入設(shè)備筒扒。
  • b怯邪、或下載適用于 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 下載澄步。

1.2、執(zhí)行兼容性測試

與 Android O 的兼容性測試多半與您準(zhǔn)備發(fā)布應(yīng)用時(shí)執(zhí)行的測試屬于同一類型搂捧。這時(shí)有必要回顧一下核心應(yīng)用質(zhì)量準(zhǔn)則測試最佳做法驮俗。
不過懂缕,測試還有另一個(gè)層面:Android O 向 Android 平臺(tái)引入了一些變化允跑,即便不對 targetSdkVersion
做任何變動(dòng),仍可能影響應(yīng)用的行為或令其根本無法運(yùn)行搪柑。因此聋丝,您必須回顧表 1 中的關(guān)鍵變化,并對任何為適應(yīng)這些變化而實(shí)現(xiàn)的修復(fù)進(jìn)行測試工碾。

對運(yùn)行在 Android O 設(shè)備上的所有應(yīng)用都有影響的關(guān)鍵變化弱睦。

二、構(gòu)建具有 Android O 功能的應(yīng)用

除了提供新的 API 外渊额,Android O 還會(huì)在您更新 targetSdkVersion 時(shí)引發(fā)其他行為變更况木。本節(jié)說明如何將開發(fā)環(huán)境設(shè)置為以新平臺(tái)為目標(biāo),以及如何著手構(gòu)建和測試 Android O API 帶來的變化和新功能旬迹。

三火惊、獲取 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、啟動(dòng) Android Studio 3.0犯眠,然后點(diǎn)擊 Tools > Android > SDK Manager 打開 SDK 管理器按灶。

  • 3、在 SDK Platforms 標(biāo)簽中筐咧,選中 Show Package Details鸯旁。在 Android O Preview 下選中下列項(xiàng):

    • Android SDK Platform O
    • Google APIs Intel x86 Atom System Image(只需在使用模擬器時(shí)選中)
  • 4、切換到 SDK Tools 標(biāo)簽嗜浮,選中所有已提供更新的項(xiàng)(點(diǎn)擊每個(gè)顯示破折號 的復(fù)選框)羡亩。這應(yīng)該包括下列必需項(xià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、點(diǎn)擊 OK 安裝所有選定的 SDK 軟件包危融。

現(xiàn)在您就可以開始使用 Android O Developer Preview 進(jìn)行開發(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](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' }}

備注 :您不能在此配置下發(fā)布應(yīng)用楷怒。“O”版本是一個(gè)臨時(shí) API 級別瓦灶,只能用于 Android O Developer Preview 期間的開發(fā)和測試鸠删。您必須等到最終 API 級別發(fā)布時(shí)再發(fā)布 Android O 變更,屆時(shí)再次更新配置贼陶。

五刃泡、從清單文件中移除廣播接收器

由于 Android O 引入了新的廣播接收器限制,因此您應(yīng)該移除所有為隱式廣播 Intent 注冊的廣播接收器碉怔。將它們留在原位并不會(huì)在構(gòu)建時(shí)或運(yùn)行時(shí)令應(yīng)用失效烘贴,但當(dāng)應(yīng)用運(yùn)行在 Android O 上時(shí)它們不起任何作用。
顯式廣播 Intent(只有您的應(yīng)用可以響應(yīng)的 Intent)在 Android O 上仍以相同方式工作撮胧。
這個(gè)新增限制有一些例外情況桨踪。

六、測試 Android O 應(yīng)用

完成以上準(zhǔn)備工作后芹啥,您就可以構(gòu)建應(yīng)用锻离,然后對其做進(jìn)一步測試,以確保 Android O 為目標(biāo)平臺(tái)時(shí)它能正常工作墓怀。這時(shí)有必要回顧一下核心應(yīng)用質(zhì)量準(zhǔn)則測試最佳做法汽纠。
如果您構(gòu)建應(yīng)用時(shí)設(shè)置了適用于 Android O 的 targetSdkVersion
,應(yīng)該注意特定的平臺(tái)變化捺疼。即便您不實(shí)現(xiàn) Android O 中的新功能疏虫,其中的一些變化仍可能嚴(yán)重影響應(yīng)用的行為或令其根本無法運(yùn)行驴一。

targetSdkVersion 設(shè)置為“O”時(shí)影響應(yīng)用的關(guān)鍵變化吊说。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市姆蘸,隨后出現(xiàn)的幾起案子官扣,更是在濱河造成了極大的恐慌翅敌,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件惕蹄,死亡現(xiàn)場離奇詭異蚯涮,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)卖陵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進(jìn)店門遭顶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人泪蔫,你說我怎么就攤上這事棒旗。” “怎么了撩荣?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵铣揉,是天一觀的道長饶深。 經(jīng)常有香客問我,道長逛拱,這世上最難降的妖魔是什么敌厘? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮朽合,結(jié)果婚禮上俱两,老公的妹妹穿的比我還像新娘。我一直安慰自己旁舰,他們只是感情好锋华,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布嗡官。 她就那樣靜靜地躺著箭窜,像睡著了一般。 火紅的嫁衣襯著肌膚如雪衍腥。 梳的紋絲不亂的頭發(fā)上磺樱,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天,我揣著相機(jī)與錄音婆咸,去河邊找鬼竹捉。 笑死,一個(gè)胖子當(dāng)著我的面吹牛尚骄,可吹牛的內(nèi)容都是我干的块差。 我是一名探鬼主播,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼倔丈,長吁一口氣:“原來是場噩夢啊……” “哼憨闰!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起需五,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤鹉动,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后宏邮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體泽示,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年蜜氨,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了械筛。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,100評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡飒炎,死狀恐怖埋哟,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情厌丑,我是刑警寧澤定欧,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布渔呵,位于F島的核電站,受9級特大地震影響砍鸠,放射性物質(zhì)發(fā)生泄漏扩氢。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一爷辱、第九天 我趴在偏房一處隱蔽的房頂上張望录豺。 院中可真熱鬧,春花似錦饭弓、人聲如沸双饥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽咏花。三九已至,卻和暖如春阀趴,著一層夾襖步出監(jiān)牢的瞬間昏翰,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工刘急, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留棚菊,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓叔汁,卻偏偏與公主長得像统求,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子据块,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內(nèi)容