Andorid P 新特性及對(duì)應(yīng)APP適配的關(guān)注點(diǎn)
在大部分用戶(hù)們還在苦苦等待吃上Android奧利奧什么口味時(shí),谷歌已經(jīng)在春季公布了Android P的開(kāi)發(fā)者預(yù)覽版,已經(jīng)支持Pixel、Pixel XL、Pixel2、Pixel2 XL設(shè)備的手動(dòng)刷機(jī)包和模擬器。Android
P 引入一系列有關(guān)Android 系統(tǒng)的變更。不論應(yīng)用針對(duì)的是哪個(gè)Android 版本,其中大部分變更會(huì)影響所有應(yīng)用;不過(guò)部分變更僅影響針對(duì)Android P 開(kāi)發(fā)的應(yīng)用。這里摘取了7個(gè)與測(cè)試同學(xué)關(guān)系比較大的更新與改進(jìn)。
首當(dāng)其沖,就是對(duì)異型劉海屏的官方優(yōu)化!

Android P支持最新的全面屏和劉海屏(不要再說(shuō)丑啦,現(xiàn)在手機(jī)外觀需要突破)。谷歌新增了?DisplayCutout類(lèi),來(lái)管理已確定的非功能區(qū)域。并新增了全新的窗口布局屬性layoutInDisplayCutoutMode?來(lái)為劉海區(qū)域的內(nèi)容進(jìn)行布局。
毫無(wú)疑問(wèn)這時(shí)目前在機(jī)型兼容性測(cè)試時(shí)急需劃重點(diǎn)的更新,目前這個(gè)在開(kāi)發(fā)者模式下有三種類(lèi)型的劉海屏樣式可供選擇。

目前華為、OPPO、小米已經(jīng)推出了幾款劉海屏機(jī)型,覆蓋高中端用戶(hù),應(yīng)用在不同尺寸規(guī)格下的劉海屏支持和測(cè)試,是現(xiàn)在未來(lái)提高用戶(hù)滿(mǎn)意度方面的重要測(cè)試點(diǎn),大家可以在Androidstudio中下載Android P Preview的模擬器來(lái)測(cè)試自己的app在不同劉海尺寸下的顯示情況。
Wi-Fi RTT的支持
Android P 添加了對(duì) IEEE 802.11mc Wi-Fi 協(xié)議(也稱(chēng)為?Wi-Fi
Round-Trip-Time?(RTT))的平臺(tái)支持,并提供了RTT
API來(lái)輔助測(cè)量與支持RTT協(xié)議的wifi接入點(diǎn)的距離。這項(xiàng)功能可以應(yīng)用于室內(nèi)定位、導(dǎo)航、物聯(lián)網(wǎng)交互,大幅提高了室內(nèi)定位的精度,逛街購(gòu)物又有了新的利器。

通知又見(jiàn)通知
Notification一直是谷歌近年來(lái)的更新重點(diǎn),Android P增加了短信圖像和急速回復(fù)功能。從8.0的通知分組、通知渠道,到現(xiàn)在9.0放出的通知更新,一步步的優(yōu)化讓我們逐步擺脫惱人的廣告和無(wú)數(shù)堆砌的推送,這一點(diǎn)Android已經(jīng)走在了iPhone前面。



屏幕旋轉(zhuǎn)優(yōu)化
還在為看視頻、聊微信時(shí),各種無(wú)意義的橫豎屏切換而煩惱么。Android P為了避免這個(gè)囧境新增了一個(gè)模式,在導(dǎo)航欄處新增了一個(gè)旋轉(zhuǎn)按鈕,必要時(shí)用戶(hù)可以手動(dòng)觸發(fā)屏幕旋轉(zhuǎn)。

這個(gè)升級(jí)是對(duì)應(yīng)用尤其是視頻類(lèi)應(yīng)用適配及測(cè)試的一個(gè)挑戰(zhàn),原來(lái)的豎屏模式已經(jīng)升級(jí)為旋轉(zhuǎn)鎖定模式,在關(guān)閉自動(dòng)旋轉(zhuǎn)時(shí)啟用。此時(shí)APP不能單純的鎖定為豎向顯示,在測(cè)試時(shí)需要注意下面幾點(diǎn)
1. 注意機(jī)型使用實(shí)體導(dǎo)航鍵的適配情況,是否支持谷歌的最新特性
2.注意應(yīng)用對(duì)應(yīng)界面是否顯示表明要在橫向或縱向顯示,如果開(kāi)發(fā)設(shè)置了screenOrientation屬性,則可忽略該新特性,行為與Android O一致
3.該模式涉及一個(gè)旋轉(zhuǎn)建議的的概念,即上圖導(dǎo)航欄給用戶(hù)提示的旋轉(zhuǎn)首選項(xiàng),手機(jī)在順時(shí)針90度時(shí),顯示旋轉(zhuǎn)建議,點(diǎn)擊后即可變?yōu)槟鏁r(shí)針90度橫向顯示。谷歌官方給出一個(gè)表格總結(jié)了常見(jiàn)的旋轉(zhuǎn)行為

在目前的使用過(guò)程中,個(gè)人感受這個(gè)功能用戶(hù)理解稍顯復(fù)雜,可能在后續(xù)的預(yù)覽版中會(huì)有優(yōu)化。
隱私隱私!!對(duì)后臺(tái)應(yīng)用再砍一刀!限制后臺(tái)應(yīng)用訪問(wèn)用的輸入和傳感器數(shù)據(jù)。
APP運(yùn)行在后臺(tái)后應(yīng)用不得訪問(wèn)麥克風(fēng)或攝像頭,傳感器不會(huì)接收到事件,如果要在后臺(tái)使用這些數(shù)據(jù),需要聲明前臺(tái)服務(wù)告知用戶(hù)應(yīng)用在后臺(tái)運(yùn)行。
在所測(cè)APP擁有后臺(tái)導(dǎo)航功能、計(jì)步等使用傳感器的功能時(shí),測(cè)試人員應(yīng)及時(shí)關(guān)注該場(chǎng)景。
應(yīng)用兼容性變更
Android P針對(duì)一些非SDK函數(shù)和字段的使用進(jìn)行了顯示,無(wú)論是直接訪問(wèn)還是通過(guò)反射、JNI調(diào)用,都無(wú)法訪問(wèn)。目前在P的開(kāi)發(fā)者預(yù)覽版中谷歌還未完全實(shí)行該限制,APP在調(diào)用受限的SDK時(shí)會(huì)在log中打印提示例如:

測(cè)試同學(xué)在驗(yàn)證應(yīng)用在新版本兼容性時(shí)可以使用一些自動(dòng)化過(guò)濾手段來(lái)達(dá)到測(cè)試目的。
安全特性升級(jí)
劃重點(diǎn)!在Android P中應(yīng)用無(wú)法讓多個(gè)進(jìn)程共用一個(gè)webview數(shù)據(jù)目錄,類(lèi)數(shù)據(jù)目錄一般存儲(chǔ) Cookie、HTTP 緩存以及其他與網(wǎng)絡(luò)瀏覽有關(guān)的持久性和臨時(shí)性存儲(chǔ)。谷歌給出了多進(jìn)程應(yīng)用使用WebView的適配方案,測(cè)試同學(xué)在測(cè)試瀏覽器、視頻、資訊類(lèi)應(yīng)用時(shí)需要多多關(guān)注該目錄的適配情況。

按照谷歌發(fā)布的計(jì)劃概覽,到AOSP和OEM廠商發(fā)布最終的Android P,會(huì)經(jīng)歷5個(gè)開(kāi)發(fā)者預(yù)覽版本,預(yù)計(jì)到秋季第一個(gè)的9.0正式版就會(huì)發(fā)布。10月11月又會(huì)是異常搶先發(fā)布新機(jī)的競(jìng)爭(zhēng)時(shí)期,一加、華為、三星、小米肯定會(huì)第一時(shí)間跟進(jìn)最新的版本,到時(shí)的兼容性適配的測(cè)試任務(wù)和工作會(huì)相當(dāng)繁重。作為測(cè)試人員,提前做好功課是必不可少的,有備無(wú)患,比開(kāi)發(fā)走在技術(shù)細(xì)節(jié)的前面能更好的適應(yīng)快速的版本迭代。希望本文能給測(cè)試小伙伴們提供些幫助。
???????? 順便大家可以在留言猜想下Android P正式版命名。Marshmallow、Nougat、Oreo已經(jīng)吃起,下一代會(huì)叫什么呢?
參考資料
https://developer.android.com/preview/index.html#compatibility