I/O 大會(huì)的第一天缩功,我們公布了下一個(gè)版本的 Android,也就是 Android P 的 beta 版本都办。Android P 將 AI 定位為操作系統(tǒng)的核心嫡锌,并側(cè)重于提供智能且簡(jiǎn)潔的體驗(yàn)。讓我們一起來(lái)了解下這個(gè)版本帶來(lái)了哪些全新功能琳钉。
Android P Beta 為開(kāi)發(fā)者提供了豐富的方法來(lái)使用這些全新的势木、智能化的功能,并且更好地提升用戶參與度歌懒。
您可在 Pixel 設(shè)備上立刻參與?Android P Beta 的體驗(yàn)啦桌。另外,得益于?Project Treble及皂,您也可在我們合作伙伴推出的高端機(jī)型?(請(qǐng)查看今天推送的次條文章) 上體驗(yàn)到這個(gè)全新版本震蒋,如 Essential、諾基亞躲庄、Oppo查剖、索尼、Vivo 和小米噪窘,更多機(jī)型也即將加入體驗(yàn)陣營(yíng)笋庄。
請(qǐng)?jiān)L問(wèn)?android.com/beta?了解支持本次體驗(yàn)的全部設(shè)備,以及如何在這些設(shè)備上安裝 Android P Beta倔监。想要為 Android P Beta 開(kāi)發(fā)應(yīng)用直砂,請(qǐng)?jiān)L問(wèn)?developer.android.com/preview。
以機(jī)器學(xué)習(xí)為核心浩习,打造 “更加智能的” 智能手機(jī)
Android P 讓智能手機(jī)可以學(xué)習(xí)用戶静暂、適應(yīng)用戶,從而使 “智能” 更為智能∑谆啵現(xiàn)在您的應(yīng)用可以借助本地硬件中的機(jī)器學(xué)習(xí)成果洽蛀,來(lái)觸達(dá)更多受眾,并為他們提供前所未有的體驗(yàn)疟赊。
· 動(dòng)態(tài)電量管理 (Adaptive Battery)
無(wú)論用戶們使用的是何種手機(jī)郊供,電量一直都是他們最為關(guān)心問(wèn)題。在 Android P 中近哟,我們和?DeepMind?合作推出了一個(gè)全新功能驮审,即動(dòng)態(tài)電量管理 (Adaptive Battery),來(lái)優(yōu)化各個(gè)應(yīng)用的電量使用。
動(dòng)態(tài)電量管理通過(guò)機(jī)器學(xué)習(xí)來(lái)管理用戶們最關(guān)心的那些應(yīng)用所能占用的系統(tǒng)資源疯淫。各個(gè)應(yīng)用會(huì)被劃分到四個(gè)不同的群組里地来,這些群組對(duì)系統(tǒng)資源調(diào)用有不同的限制,我們稱之為 “應(yīng)用待機(jī)群組 (App Standby buckets)”熙掺。隨著用戶的使用靠抑,應(yīng)用會(huì)在這四個(gè)群組里切換,那些不在 “活躍 (active)” 組里的應(yīng)用在包括任務(wù) (jobs)适掰、警報(bào)、網(wǎng)絡(luò)以及高優(yōu)先級(jí)的 Firebase Cloud Messages 等資源調(diào)用上會(huì)受到相應(yīng)的限制荠列。
如果您的應(yīng)用已經(jīng)針對(duì)?Doze,?App Standby?和后臺(tái)運(yùn)行限制做過(guò)優(yōu)化类浪,那么它就應(yīng)該已經(jīng)能和動(dòng)態(tài)電量管理完美配合。我們建議您在四個(gè)應(yīng)用待機(jī)群組中都對(duì)自己的 app 進(jìn)行測(cè)試肌似,請(qǐng)閱讀相關(guān)文檔了解詳情费就。
·?App Actions
當(dāng)用戶想要做一個(gè)操作的時(shí)候,App Actions?會(huì)推薦能幫助他們完成這個(gè)操作的 app川队,而且這個(gè)推薦的功能會(huì)覆蓋整個(gè)操作系統(tǒng)中的重要交互環(huán)節(jié)力细,比如啟動(dòng)器 (Launcher)、智能文本選擇固额、Google Play眠蚂、Google Search 應(yīng)用,以及 Assistant斗躏。
App Actions 通過(guò)機(jī)器學(xué)習(xí)來(lái)分析用戶最近的行為或使用場(chǎng)景逝慧,從而篩選出需要推薦的應(yīng)用。由于這些推薦與用戶當(dāng)前想要做的事情高度關(guān)聯(lián)啄糙,所以這套機(jī)制非常利于拓展新用戶以及促活現(xiàn)有用戶笛臣。
只需將您應(yīng)用中的各個(gè)功能定義為語(yǔ)義意圖 (semantic intent),便可以充分享受 App Actions 帶來(lái)的好處隧饼。App Actions 中的意圖和我們?cè)缧r(shí)候在 Google Assistant 上推出的語(yǔ)音對(duì)談式動(dòng)作?(Conversational Action) 是使用同一套通用意圖分類沈堡,這個(gè)分類支持語(yǔ)音控制的音箱、智能屏幕燕雁、車載系統(tǒng)诞丽、電視、耳機(jī)等設(shè)備拐格。由于不需要額外的 API 接口率拒,所以只要用戶的 Android 平臺(tái)版本支持,App Actions 就可以正常使用了禁荒。
App Actions 很快就會(huì)面向開(kāi)發(fā)者發(fā)布猬膨,如果您希望收到這方面的通知,請(qǐng)點(diǎn)擊文末"閱讀原文" 找到相關(guān)鏈接參與訂閱。
· Slices
和 App Actions 一同到來(lái)的新功能還有?Slices勃痴,這個(gè)功能可以讓您的應(yīng)用以模塊化谒所、富交互的形式插入到多個(gè)使用場(chǎng)景中,比如 Google Search 和 Assistant沛申。Slices 支持的交互包括 actions劣领、開(kāi)關(guān)、滑動(dòng)條铁材、滑動(dòng)內(nèi)容等等尖淘。
Slices 是讓內(nèi)容與用戶聯(lián)系的極佳方式,所以我們希望它可以在更多的場(chǎng)景中出現(xiàn)著觉。除了在 Android P 上對(duì)這個(gè)功能進(jìn)行了平臺(tái)級(jí)別的整合外村生, Slices 的 API 和模板也加入到了 Android Jetpack 里。Android Jetpack 是我們?nèi)麓蛟斓囊惶讋?chuàng)建優(yōu)秀應(yīng)用的工具和庫(kù)饼丘,通過(guò) Android Jetpack趁桃,您制作的 Slices 能在 Kitkat (API 等級(jí) 19) 及更高版本上使用 —— 這覆蓋了 95% 的已激活 Android 設(shè)備。我們也會(huì)定期更新 Slices 的模板來(lái)支持更多類型的場(chǎng)景和交互 (比如文本輸入)肄鸽。
請(qǐng)查閱上手指南以了解如何制作 Slices卫病,使用?SliceViewer 工具查看您做好的 Slices。接下來(lái)典徘,我們計(jì)劃進(jìn)一步拓展其使用場(chǎng)景蟀苛,包括在其他 app 中展現(xiàn)您的 Slices。
· 通知智能回復(fù) (Smart reply in notifications)
機(jī)器智能可以為用戶體驗(yàn)帶來(lái)非常積極的進(jìn)化逮诲,Gmail 和 Inbox 里的智能回復(fù)功能已經(jīng)成功地證明了這一點(diǎn)屹逛。在 Android P 中,通知消息也加入了智能回復(fù)功能汛骂,而且我們準(zhǔn)備了 API 讓您可以為用戶帶來(lái)更度身的使用感受罕模。用來(lái)幫助您更輕松地在通知中生成回復(fù)的 ML Kit 很快就會(huì)到來(lái),請(qǐng)移步?developers.google.com/mlkit?了解詳情帘瞭。
· 文本識(shí)別 (Text Classifier)
在 Android P 中淑掌,我們將識(shí)別文本的機(jī)器學(xué)習(xí)模型進(jìn)行了擴(kuò)展,使得它可以識(shí)別出諸如日期或航班號(hào)這樣的信息蝶念,并通過(guò) TextClassifier API 來(lái)讓開(kāi)發(fā)者使用到這些改進(jìn)抛腕。我們還更新了 Linkify API 來(lái)利用文本識(shí)別的結(jié)果生成鏈接,并為用戶提供了更多點(diǎn)擊后的選項(xiàng)媒殉,從而讓他們得以更快地進(jìn)行下一步操作担敌。當(dāng)然,開(kāi)發(fā)者也可以在給文本識(shí)別出來(lái)的信息添加鏈接時(shí)擁有更多的選項(xiàng)廷蓉。智能 Linkify 在識(shí)別精準(zhǔn)度以及速度上都有明顯的提升全封。
這個(gè)模型現(xiàn)在正在通過(guò) Google Play 進(jìn)行更新,所以您的應(yīng)用使用現(xiàn)有的 API 就可以享受到本次更新所帶來(lái)的變化。在安裝更新完的模型后刹悴,設(shè)備即可直接在本地識(shí)別文本里的各種信息行楞,而且這些識(shí)別出來(lái)的信息只保存在您的手機(jī)上而不會(huì)通過(guò)網(wǎng)絡(luò)流傳出去。
簡(jiǎn)潔 (Simplicity)
在 Android P土匀,我們格外強(qiáng)調(diào)簡(jiǎn)潔子房,并據(jù)此改進(jìn) Android 的 UI 從而幫助用戶們更流暢、更高效地完成操作就轧。對(duì)開(kāi)發(fā)者來(lái)說(shuō)证杭,簡(jiǎn)潔的系統(tǒng)則會(huì)幫助用戶更容易查找、使用和管理您的應(yīng)用妒御。
· 全新系統(tǒng)導(dǎo)航 (New system navigation)
我們?yōu)?Android P 設(shè)計(jì)了全新的系統(tǒng)導(dǎo)航解愤,只需使用下圖中這個(gè)在所有界面中都能看到的小按鈕,即可更輕松地訪問(wèn)手機(jī)主屏携丁、概覽頁(yè)以及 Assistant。新導(dǎo)航系統(tǒng)也使多任務(wù)切換及發(fā)現(xiàn)關(guān)聯(lián)應(yīng)用變得更加簡(jiǎn)單兰怠。在概覽頁(yè)梦鉴,用戶可以擁有更大的視野來(lái)查看他們之前中斷的操作,這自然也會(huì)讓他們更容易找到并回到之前的應(yīng)用中揭保。概覽頁(yè)也提供了搜索肥橙、預(yù)測(cè)推薦應(yīng)用以及上文提到的 App Actions,而且只需再多劃一次即可進(jìn)入所有應(yīng)用的列表秸侣。
· 文字放大鏡 (Text Magnifier)
在 Android P 中存筏,我們加入了新的放大鏡工具?(Magnifier widget),使選擇文本和調(diào)整光標(biāo)位置變得更加輕松味榛。默認(rèn)情況下椭坚,所有繼承自 TextView 的類都會(huì)自動(dòng)支持放大鏡,但您也可以使用放大鏡 API?將它添加到任何自定義的視圖上搏色,從而打造更多樣化的體驗(yàn)善茎。
· 后臺(tái)限制 (Background restrictions)
用戶可以更加簡(jiǎn)單地找到并管理那些在后臺(tái)消耗電量的應(yīng)用。通過(guò) Android Vitals 積累下來(lái)的成果频轿,Android 可以識(shí)別那些過(guò)度消耗電量的行為垂涯,如濫用喚醒鎖定等。在 Android P 中航邢,電池設(shè)置頁(yè)面直接列出了這些過(guò)度消耗電量的應(yīng)用耕赘,用戶只需一次點(diǎn)擊就可以限制它們?cè)诤笈_(tái)的活動(dòng)。
一旦應(yīng)用被限制膳殷,那么它的后臺(tái)任務(wù)操骡、警報(bào)、服務(wù)以及網(wǎng)絡(luò)訪問(wèn)都會(huì)受限。想要避免被限制的話当娱,請(qǐng)留意 Play Console 中的?Android Vitals 控制面板吃既,幫助您了解如何提高性能表現(xiàn)以及優(yōu)化電量消耗。
后臺(tái)限制能有效保護(hù)系統(tǒng)資源不被惡意消耗跨细,從而確保開(kāi)發(fā)者的應(yīng)用在不同制造商的不同設(shè)備上也能擁有一個(gè)基礎(chǔ)的合理的運(yùn)行環(huán)境鹦倚。雖然制造商可以在限制列表上額外添加限制的應(yīng)用,但它們也必須在電池設(shè)置頁(yè)面為用戶開(kāi)放這些限制的控制權(quán)冀惭。
我們添加了一個(gè)標(biāo)準(zhǔn) API 來(lái)幫助應(yīng)用知曉自己是否被限制震叙,以及一個(gè) ADB 命令來(lái)幫助開(kāi)發(fā)者手動(dòng)限制應(yīng)用,從而進(jìn)行測(cè)試散休。具體請(qǐng)參閱相關(guān)文檔媒楼。接下來(lái)我們計(jì)劃在 Play Console 的 Android Vitals 控制面板里添加一個(gè)統(tǒng)計(jì)數(shù)據(jù),以展示應(yīng)用受到限制的情況戚丸。
· 使用動(dòng)態(tài)處理增強(qiáng)音頻 (Enhanced audio with Dynamics Processing)
Android P 在音頻框架里加入了動(dòng)態(tài)處理效果 (Dynamic Processing Effect) 來(lái)幫助開(kāi)發(fā)者改善聲音品質(zhì)划址。通過(guò)動(dòng)態(tài)處理,您可以分離出特定頻率的聲音限府,降低過(guò)大的音量夺颤,或者增強(qiáng)那些過(guò)小的音量。舉例來(lái)說(shuō)胁勺,即便說(shuō)話者離麥克風(fēng)較遠(yuǎn)世澜,而且身處嘈雜或者被刺耳的各種環(huán)境音包圍的地方,您的應(yīng)用依然可以有效分離并增強(qiáng)他/她的細(xì)語(yǔ)署穗。
動(dòng)態(tài)處理 API?提供了多聲場(chǎng)寥裂、多頻段的動(dòng)態(tài)處理效果,包括一個(gè)預(yù)均衡器案疲、一個(gè)多頻段壓縮器封恰,一個(gè)后均衡器以及一個(gè)串聯(lián)的音量限制器。這樣您就可以根據(jù)用戶的喜好或者環(huán)境的變化來(lái)控制 Android 設(shè)備輸出的聲音褐啡。頻段數(shù)量以及各個(gè)聲場(chǎng)的開(kāi)關(guān)都完全可控俭驮,大多數(shù)參數(shù)都支持實(shí)時(shí)控制,如增益春贸、信號(hào)的壓縮/釋放 (attack/release) 時(shí)長(zhǎng)混萝,閾值等等。
安全 (Security)
· 用戶識(shí)別提示 (Biometric prompt)
Android P 為市面上涌現(xiàn)出來(lái)的各種用戶識(shí)別機(jī)制在系統(tǒng)層面提供了統(tǒng)一的使用體驗(yàn)萍恕,應(yīng)用們不再需要自行提供用戶識(shí)別操作界面逸嘀,而只需要使用統(tǒng)一的?BiometricPrompt API?即可。這套全新的 API 替代了?DP1 版本中的 FingerprintDialog API允粤,且支持包括指紋識(shí)別 (包括屏幕下指紋識(shí)別)崭倘、面部識(shí)別以及虹膜識(shí)別翼岁,而且所有系統(tǒng)支持的用戶識(shí)別需求都包含在一個(gè) USE_BIOMETRIC 權(quán)限里。FingerprintManager 以及對(duì)應(yīng)的 USE_FINGERPRINT 權(quán)限已經(jīng)被廢棄司光,請(qǐng)開(kāi)發(fā)者盡快轉(zhuǎn)用 BiometricPrompt琅坡。
· 受保護(hù)的確認(rèn)操作 (Protected Confirmation)
Android P 新增了受保護(hù)的確認(rèn)操作?(Android Protected Confirmation),這個(gè)功能使用可信執(zhí)行環(huán)境 (Trusted Execution Environment, TEE) 來(lái)確保一個(gè)顯示出來(lái)的提示文本被真實(shí)用戶確認(rèn)残家。只有在用戶確認(rèn)之后榆俺,TEE 才會(huì)放行這個(gè)文本并可由應(yīng)用去驗(yàn)證。
· 對(duì)私有密鑰的增強(qiáng)保護(hù) (Stronger protection for private keys)
我們添加了一個(gè)新的?KeyStore?類型坞淮,StrongBox茴晋。并提供對(duì)應(yīng)的 API 來(lái)支持那些提供了防入侵硬件措施的設(shè)備,比如獨(dú)立的 CPU回窘,內(nèi)存以及安全存儲(chǔ)诺擅。您可以在?KeyGenParameterSpec?里決定您的密鑰是否該交給 StrongBox 安全芯片來(lái)保存。
Android P Beta
為用戶帶來(lái)新版本的 Android 需要 Google啡直、硅谷供應(yīng)商以及設(shè)備制造商和運(yùn)營(yíng)商的共同努力烁涌。這個(gè)過(guò)程中充滿了技術(shù)挑戰(zhàn),并非一日之功 —— 為了讓這個(gè)過(guò)程更加順暢酒觅,去年我們啟動(dòng)了?Project Treble撮执,并將其包含在 Android Oreo 中。我們與合作伙伴們一直在努力開(kāi)發(fā)這個(gè)項(xiàng)目阐滩,也已經(jīng)看到 Treble 所能帶來(lái)的機(jī)遇二打。
我們宣布县忌,以下 6 家頂級(jí)合作伙伴將和我們一起把 Android P Beta 帶給全世界的用戶掂榔,這些設(shè)備包括:索尼 Xperia XZ2, 小米 Mi Mix 2S, 諾基亞 7 Plus, Oppo R15 Pro, Vivo X21UD 和 X21, 以及?Essential PH?1。此外症杏,再加上?Pixel 2, Pixel 2 XL, Pixel?和?Pixel XL装获,我們希望來(lái)自世界各地的早期體驗(yàn)者以及開(kāi)發(fā)者們都能通過(guò)這些設(shè)備體驗(yàn)到 Android P Beta。
您可查看今天推送的次條文章查閱支持 beta 體驗(yàn)的合作伙伴和 Pixel 設(shè)備清單厉颤,并能看到每款設(shè)備的詳細(xì)配置說(shuō)明穴豫。如果您使用 Pixel 設(shè)備,現(xiàn)在就可以加入 Android Beta program逼友,然后自動(dòng)獲得最新的 Android P Beta精肃。
馬上開(kāi)始在您喜歡的設(shè)備上體驗(yàn) Android P Beta 吧,歡迎您向我們反饋意見(jiàn)和建議帜乞!并請(qǐng)繼續(xù)關(guān)注 Project Treble 的最新動(dòng)態(tài)司抱。
確保 app 兼容
隨著越來(lái)越多的用戶開(kāi)始體驗(yàn) Android P Beta,是時(shí)候開(kāi)始測(cè)試您 app 的兼容性黎烈,以盡早解決在測(cè)試中發(fā)現(xiàn)的問(wèn)題并盡快發(fā)布更新习柠。請(qǐng)查看遷移手冊(cè)了解操作步驟以及 Android P 的時(shí)間推進(jìn)表匀谣。
請(qǐng)從 Google Play 下載您的應(yīng)用,并在運(yùn)行 Android P Beta 的設(shè)備或模擬器上測(cè)試用戶流程资溃。確保您的應(yīng)用體驗(yàn)良好武翎,并正確處理?Android P 的行為變更。尤其注意動(dòng)態(tài)電量管理溶锭、Wi-Fi 權(quán)限變化宝恶、后臺(tái)調(diào)用攝像頭以及傳感器的限制、針對(duì)應(yīng)用數(shù)據(jù)的 SELinux 政策暖途、默認(rèn)啟用 TLS 的變化卑惜,以及?Build.SERIAL 限制。
· 公開(kāi) API 的兼容性 (Compatibility through public APIs)
針對(duì)非 SDK 接口的測(cè)試十分重要驻售。正如我們之前所強(qiáng)調(diào)的露久,在 Android P 中,我們將逐漸收緊一些非 SDK 接口的使用欺栗,這也要求廣大的開(kāi)發(fā)者們毫痕,包括 Google 內(nèi)部的應(yīng)用團(tuán)隊(duì),使用公開(kāi) API迟几。
如果您的應(yīng)用正在使用私有 Android API 或者庫(kù)消请,您需要改為使用 Android SDK 或 NDK 公開(kāi)的 API。我們?cè)?DP1 里已經(jīng)對(duì)使用私有接口的開(kāi)發(fā)者發(fā)出了警告信息类腮,從 Android P Beta 開(kāi)始臊泰,調(diào)用非 SDK 接口將會(huì)報(bào)錯(cuò) (部分被豁免的私有 API 除外)?—— 也就是說(shuō)您的應(yīng)用將會(huì)遭遇異常,而不再只是警告了蚜枢。
為了幫助您定位非 SDK API 的使用情況缸逃,我們?cè)?StrictMode 里加入了兩個(gè)新的方法。您可以使用?detectNonSdkApiUsage()?在應(yīng)用通過(guò)反射或 JNI 調(diào)用非 SDK API 的時(shí)候收到警報(bào)厂抽,您還可以使用?permitNonSdkApiUsage()?來(lái)阻止 StrictMode 針對(duì)這些調(diào)用報(bào)錯(cuò)需频。這些方法都可助您了解應(yīng)用調(diào)用非 SDK API 的情況,但請(qǐng)注意筷凤,即便調(diào)用的 API 暫時(shí)得到了豁免昭殉,最保險(xiǎn)的做法依然是盡快放棄對(duì)它們的使用。
如果您確實(shí)遇到了公開(kāi) API 無(wú)法滿足需求的情況藐守,請(qǐng)立刻告知我們挪丢。更多詳細(xì)內(nèi)容請(qǐng)查看相關(guān)文檔。
· 凹口屏測(cè)試 (Test with display cutout)
針對(duì)凹口屏測(cè)試您的應(yīng)用也十分重要÷В現(xiàn)在您可以在運(yùn)行 Android P Beta 的合作伙伴機(jī)型上測(cè)試乾蓬,確保您的應(yīng)用在凹口屏上表現(xiàn)良好。同時(shí)足淆,您也可以在 Android P 設(shè)備的開(kāi)發(fā)者選項(xiàng)里打開(kāi)對(duì)凹口屏的模擬巢块,對(duì)您的應(yīng)用做相應(yīng)測(cè)試礁阁。
體驗(yàn) Android P
在準(zhǔn)備好開(kāi)發(fā)條件后,請(qǐng)深入了解 Android P 并學(xué)習(xí)可以在您的應(yīng)用中使用到的全新功能和 API族奢。為了幫助您更輕松地探索和使用新 API姥闭,請(qǐng)查閱 API 變化報(bào)告 (API 27->DP2,?DP1->DP2) 以及?Android P API 文檔。訪問(wèn)開(kāi)發(fā)者預(yù)覽版網(wǎng)站了解詳情越走。
下載/更新 Android P 開(kāi)發(fā)者預(yù)覽版 SDK 和工具包至 Android Studio 3.1棚品,或使用最新版本的?Android Studio 3.2。如果您手邊沒(méi)有?Android P Beta 設(shè)備(或查看今天推送的次條文章)廊敌,請(qǐng)使用?Android P 模擬器來(lái)運(yùn)行和測(cè)試您的應(yīng)用铜跑。
您的反饋一直都至關(guān)重要,我們歡迎您暢所欲言骡澈。如果您在開(kāi)發(fā)或測(cè)試過(guò)程中遇到了問(wèn)題锅纺,請(qǐng)?jiān)谖恼孪路搅粞越o我們。再次感謝大家一路以來(lái)的支持肋殴。