Android P Beta!您想要知道的所有更新內(nèi)容都在這里

I/O 大會的第一天,我們公布了下一個版本的 Android,也就是 Android P 的 beta 版本。Android P 將 AI 定位為操作系統(tǒng)的核心,并側(cè)重于提供智能且簡潔的體驗。讓我們一起來了解下這個版本帶來了哪些全新功能。

Android P Beta 為開發(fā)者提供了豐富的方法來使用這些全新的、智能化的功能,并且更好地提升用戶參與度。

您可在 Pixel 設(shè)備上立刻參與?Android P Beta 的體驗。另外,得益于?Project Treble,您也可在我們合作伙伴推出的高端機型?(請查看今天推送的次條文章) 上體驗到這個全新版本,如 Essential、諾基亞、Oppo、索尼、Vivo 和小米,更多機型也即將加入體驗陣營。

請訪問?android.com/beta?了解支持本次體驗的全部設(shè)備,以及如何在這些設(shè)備上安裝 Android P Beta。想要為 Android P Beta 開發(fā)應(yīng)用,請訪問?developer.android.com/preview。

以機器學(xué)習(xí)為核心,打造 “更加智能的” 智能手機

Android P 讓智能手機可以學(xué)習(xí)用戶、適應(yīng)用戶,從而使 “智能” 更為智能?,F(xiàn)在您的應(yīng)用可以借助本地硬件中的機器學(xué)習(xí)成果,來觸達更多受眾,并為他們提供前所未有的體驗。

· 動態(tài)電量管理 (Adaptive Battery)

無論用戶們使用的是何種手機,電量一直都是他們最為關(guān)心問題。在 Android P 中,我們和?DeepMind?合作推出了一個全新功能,即動態(tài)電量管理 (Adaptive Battery),來優(yōu)化各個應(yīng)用的電量使用。

動態(tài)電量管理通過機器學(xué)習(xí)來管理用戶們最關(guān)心的那些應(yīng)用所能占用的系統(tǒng)資源。各個應(yīng)用會被劃分到四個不同的群組里,這些群組對系統(tǒng)資源調(diào)用有不同的限制,我們稱之為 “應(yīng)用待機群組 (App Standby buckets)”。隨著用戶的使用,應(yīng)用會在這四個群組里切換,那些不在 “活躍 (active)” 組里的應(yīng)用在包括任務(wù) (jobs)、警報、網(wǎng)絡(luò)以及高優(yōu)先級的 Firebase Cloud Messages 等資源調(diào)用上會受到相應(yīng)的限制。

如果您的應(yīng)用已經(jīng)針對?Doze,?App Standby?和后臺運行限制做過優(yōu)化,那么它就應(yīng)該已經(jīng)能和動態(tài)電量管理完美配合。我們建議您在四個應(yīng)用待機群組中都對自己的 app 進行測試,請閱讀相關(guān)文檔了解詳情。

·?App Actions

當用戶想要做一個操作的時候,App Actions?會推薦能幫助他們完成這個操作的 app,而且這個推薦的功能會覆蓋整個操作系統(tǒng)中的重要交互環(huán)節(jié),比如啟動器 (Launcher)、智能文本選擇、Google Play、Google Search 應(yīng)用,以及 Assistant。

App Actions 通過機器學(xué)習(xí)來分析用戶最近的行為或使用場景,從而篩選出需要推薦的應(yīng)用。由于這些推薦與用戶當前想要做的事情高度關(guān)聯(lián),所以這套機制非常利于拓展新用戶以及促活現(xiàn)有用戶。

只需將您應(yīng)用中的各個功能定義為語義意圖 (semantic intent),便可以充分享受 App Actions 帶來的好處。App Actions 中的意圖和我們早些時候在 Google Assistant 上推出的語音對談式動作?(Conversational Action) 是使用同一套通用意圖分類,這個分類支持語音控制的音箱、智能屏幕、車載系統(tǒng)、電視、耳機等設(shè)備。由于不需要額外的 API 接口,所以只要用戶的 Android 平臺版本支持,App Actions 就可以正常使用了。

App Actions 很快就會面向開發(fā)者發(fā)布,如果您希望收到這方面的通知,請點擊文末"閱讀原文" 找到相關(guān)鏈接參與訂閱。

· Slices

和 App Actions 一同到來的新功能還有?Slices,這個功能可以讓您的應(yīng)用以模塊化、富交互的形式插入到多個使用場景中,比如 Google Search 和 Assistant。Slices 支持的交互包括 actions、開關(guān)、滑動條、滑動內(nèi)容等等。

Slices 是讓內(nèi)容與用戶聯(lián)系的極佳方式,所以我們希望它可以在更多的場景中出現(xiàn)。除了在 Android P 上對這個功能進行了平臺級別的整合外, Slices 的 API 和模板也加入到了 Android Jetpack 里。Android Jetpack 是我們?nèi)麓蛟斓囊惶讋?chuàng)建優(yōu)秀應(yīng)用的工具和庫,通過 Android Jetpack,您制作的 Slices 能在 Kitkat (API 等級 19) 及更高版本上使用 —— 這覆蓋了 95% 的已激活 Android 設(shè)備。我們也會定期更新 Slices 的模板來支持更多類型的場景和交互 (比如文本輸入)。



請查閱上手指南以了解如何制作 Slices,使用?SliceViewer 工具查看您做好的 Slices。接下來,我們計劃進一步拓展其使用場景,包括在其他 app 中展現(xiàn)您的 Slices。

· 通知智能回復(fù) (Smart reply in notifications)

機器智能可以為用戶體驗帶來非常積極的進化,Gmail 和 Inbox 里的智能回復(fù)功能已經(jīng)成功地證明了這一點。在 Android P 中,通知消息也加入了智能回復(fù)功能,而且我們準備了 API 讓您可以為用戶帶來更度身的使用感受。用來幫助您更輕松地在通知中生成回復(fù)的 ML Kit 很快就會到來,請移步?developers.google.com/mlkit?了解詳情。

· 文本識別 (Text Classifier)

在 Android P 中,我們將識別文本的機器學(xué)習(xí)模型進行了擴展,使得它可以識別出諸如日期或航班號這樣的信息,并通過 TextClassifier API 來讓開發(fā)者使用到這些改進。我們還更新了 Linkify API 來利用文本識別的結(jié)果生成鏈接,并為用戶提供了更多點擊后的選項,從而讓他們得以更快地進行下一步操作。當然,開發(fā)者也可以在給文本識別出來的信息添加鏈接時擁有更多的選項。智能 Linkify 在識別精準度以及速度上都有明顯的提升。

這個模型現(xiàn)在正在通過 Google Play 進行更新,所以您的應(yīng)用使用現(xiàn)有的 API 就可以享受到本次更新所帶來的變化。在安裝更新完的模型后,設(shè)備即可直接在本地識別文本里的各種信息,而且這些識別出來的信息只保存在您的手機上而不會通過網(wǎng)絡(luò)流傳出去。

簡潔 (Simplicity)

在 Android P,我們格外強調(diào)簡潔,并據(jù)此改進 Android 的 UI 從而幫助用戶們更流暢、更高效地完成操作。對開發(fā)者來說,簡潔的系統(tǒng)則會幫助用戶更容易查找、使用和管理您的應(yīng)用。

· 全新系統(tǒng)導(dǎo)航 (New system navigation)

我們?yōu)?Android P 設(shè)計了全新的系統(tǒng)導(dǎo)航,只需使用下圖中這個在所有界面中都能看到的小按鈕,即可更輕松地訪問手機主屏、概覽頁以及 Assistant。新導(dǎo)航系統(tǒng)也使多任務(wù)切換及發(fā)現(xiàn)關(guān)聯(lián)應(yīng)用變得更加簡單。在概覽頁,用戶可以擁有更大的視野來查看他們之前中斷的操作,這自然也會讓他們更容易找到并回到之前的應(yīng)用中。概覽頁也提供了搜索、預(yù)測推薦應(yīng)用以及上文提到的 App Actions,而且只需再多劃一次即可進入所有應(yīng)用的列表。

· 文字放大鏡 (Text Magnifier)

在 Android P 中,我們加入了新的放大鏡工具?(Magnifier widget),使選擇文本和調(diào)整光標位置變得更加輕松。默認情況下,所有繼承自 TextView 的類都會自動支持放大鏡,但您也可以使用放大鏡 API?將它添加到任何自定義的視圖上,從而打造更多樣化的體驗。

· 后臺限制 (Background restrictions)

用戶可以更加簡單地找到并管理那些在后臺消耗電量的應(yīng)用。通過 Android Vitals 積累下來的成果,Android 可以識別那些過度消耗電量的行為,如濫用喚醒鎖定等。在 Android P 中,電池設(shè)置頁面直接列出了這些過度消耗電量的應(yīng)用,用戶只需一次點擊就可以限制它們在后臺的活動。

一旦應(yīng)用被限制,那么它的后臺任務(wù)、警報、服務(wù)以及網(wǎng)絡(luò)訪問都會受限。想要避免被限制的話,請留意 Play Console 中的?Android Vitals 控制面板,幫助您了解如何提高性能表現(xiàn)以及優(yōu)化電量消耗。

后臺限制能有效保護系統(tǒng)資源不被惡意消耗,從而確保開發(fā)者的應(yīng)用在不同制造商的不同設(shè)備上也能擁有一個基礎(chǔ)的合理的運行環(huán)境。雖然制造商可以在限制列表上額外添加限制的應(yīng)用,但它們也必須在電池設(shè)置頁面為用戶開放這些限制的控制權(quán)。

我們添加了一個標準 API 來幫助應(yīng)用知曉自己是否被限制,以及一個 ADB 命令來幫助開發(fā)者手動限制應(yīng)用,從而進行測試。具體請參閱相關(guān)文檔。接下來我們計劃在 Play Console 的 Android Vitals 控制面板里添加一個統(tǒng)計數(shù)據(jù),以展示應(yīng)用受到限制的情況。

· 使用動態(tài)處理增強音頻 (Enhanced audio with Dynamics Processing)

Android P 在音頻框架里加入了動態(tài)處理效果 (Dynamic Processing Effect) 來幫助開發(fā)者改善聲音品質(zhì)。通過動態(tài)處理,您可以分離出特定頻率的聲音,降低過大的音量,或者增強那些過小的音量。舉例來說,即便說話者離麥克風(fēng)較遠,而且身處嘈雜或者被刺耳的各種環(huán)境音包圍的地方,您的應(yīng)用依然可以有效分離并增強他/她的細語。

動態(tài)處理 API?提供了多聲場、多頻段的動態(tài)處理效果,包括一個預(yù)均衡器、一個多頻段壓縮器,一個后均衡器以及一個串聯(lián)的音量限制器。這樣您就可以根據(jù)用戶的喜好或者環(huán)境的變化來控制 Android 設(shè)備輸出的聲音。頻段數(shù)量以及各個聲場的開關(guān)都完全可控,大多數(shù)參數(shù)都支持實時控制,如增益、信號的壓縮/釋放 (attack/release) 時長,閾值等等。

安全 (Security)

· 用戶識別提示 (Biometric prompt)

Android P 為市面上涌現(xiàn)出來的各種用戶識別機制在系統(tǒng)層面提供了統(tǒng)一的使用體驗,應(yīng)用們不再需要自行提供用戶識別操作界面,而只需要使用統(tǒng)一的?BiometricPrompt API?即可。這套全新的 API 替代了?DP1 版本中的 FingerprintDialog API,且支持包括指紋識別 (包括屏幕下指紋識別)、面部識別以及虹膜識別,而且所有系統(tǒng)支持的用戶識別需求都包含在一個 USE_BIOMETRIC 權(quán)限里。FingerprintManager 以及對應(yīng)的 USE_FINGERPRINT 權(quán)限已經(jīng)被廢棄,請開發(fā)者盡快轉(zhuǎn)用 BiometricPrompt。

· 受保護的確認操作 (Protected Confirmation)

Android P 新增了受保護的確認操作?(Android Protected Confirmation),這個功能使用可信執(zhí)行環(huán)境 (Trusted Execution Environment, TEE) 來確保一個顯示出來的提示文本被真實用戶確認。只有在用戶確認之后,TEE 才會放行這個文本并可由應(yīng)用去驗證。

· 對私有密鑰的增強保護 (Stronger protection for private keys)

我們添加了一個新的?KeyStore?類型,StrongBox。并提供對應(yīng)的 API 來支持那些提供了防入侵硬件措施的設(shè)備,比如獨立的 CPU,內(nèi)存以及安全存儲。您可以在?KeyGenParameterSpec?里決定您的密鑰是否該交給 StrongBox 安全芯片來保存。

Android P Beta

為用戶帶來新版本的 Android 需要 Google、硅谷供應(yīng)商以及設(shè)備制造商和運營商的共同努力。這個過程中充滿了技術(shù)挑戰(zhàn),并非一日之功 —— 為了讓這個過程更加順暢,去年我們啟動了?Project Treble,并將其包含在 Android Oreo 中。我們與合作伙伴們一直在努力開發(fā)這個項目,也已經(jīng)看到 Treble 所能帶來的機遇。

我們宣布,以下 6 家頂級合作伙伴將和我們一起把 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,我們希望來自世界各地的早期體驗者以及開發(fā)者們都能通過這些設(shè)備體驗到 Android P Beta。

您可查看今天推送的次條文章查閱支持 beta 體驗的合作伙伴和 Pixel 設(shè)備清單,并能看到每款設(shè)備的詳細配置說明。如果您使用 Pixel 設(shè)備,現(xiàn)在就可以加入 Android Beta program,然后自動獲得最新的 Android P Beta。

馬上開始在您喜歡的設(shè)備上體驗 Android P Beta 吧,歡迎您向我們反饋意見和建議!并請繼續(xù)關(guān)注 Project Treble 的最新動態(tài)。

確保 app 兼容

隨著越來越多的用戶開始體驗 Android P Beta,是時候開始測試您 app 的兼容性,以盡早解決在測試中發(fā)現(xiàn)的問題并盡快發(fā)布更新。請查看遷移手冊了解操作步驟以及 Android P 的時間推進表。

請從 Google Play 下載您的應(yīng)用,并在運行 Android P Beta 的設(shè)備或模擬器上測試用戶流程。確保您的應(yīng)用體驗良好,并正確處理?Android P 的行為變更。尤其注意動態(tài)電量管理、Wi-Fi 權(quán)限變化、后臺調(diào)用攝像頭以及傳感器的限制、針對應(yīng)用數(shù)據(jù)的 SELinux 政策、默認啟用 TLS 的變化,以及?Build.SERIAL 限制。

· 公開 API 的兼容性 (Compatibility through public APIs)

針對非 SDK 接口的測試十分重要。正如我們之前所強調(diào)的,在 Android P 中,我們將逐漸收緊一些非 SDK 接口的使用,這也要求廣大的開發(fā)者們,包括 Google 內(nèi)部的應(yīng)用團隊,使用公開 API。

如果您的應(yīng)用正在使用私有 Android API 或者庫,您需要改為使用 Android SDK 或 NDK 公開的 API。我們在 DP1 里已經(jīng)對使用私有接口的開發(fā)者發(fā)出了警告信息,從 Android P Beta 開始,調(diào)用非 SDK 接口將會報錯 (部分被豁免的私有 API 除外)?—— 也就是說您的應(yīng)用將會遭遇異常,而不再只是警告了。

為了幫助您定位非 SDK API 的使用情況,我們在 StrictMode 里加入了兩個新的方法。您可以使用?detectNonSdkApiUsage()?在應(yīng)用通過反射或 JNI 調(diào)用非 SDK API 的時候收到警報,您還可以使用?permitNonSdkApiUsage()?來阻止 StrictMode 針對這些調(diào)用報錯。這些方法都可助您了解應(yīng)用調(diào)用非 SDK API 的情況,但請注意,即便調(diào)用的 API 暫時得到了豁免,最保險的做法依然是盡快放棄對它們的使用。

如果您確實遇到了公開 API 無法滿足需求的情況,請立刻告知我們。更多詳細內(nèi)容請查看相關(guān)文檔。

· 凹口屏測試 (Test with display cutout)

針對凹口屏測試您的應(yīng)用也十分重要?,F(xiàn)在您可以在運行 Android P Beta 的合作伙伴機型上測試,確保您的應(yīng)用在凹口屏上表現(xiàn)良好。同時,您也可以在 Android P 設(shè)備的開發(fā)者選項里打開對凹口屏的模擬,對您的應(yīng)用做相應(yīng)測試。

體驗 Android P

在準備好開發(fā)條件后,請深入了解 Android P 并學(xué)習(xí)可以在您的應(yīng)用中使用到的全新功能和 API。為了幫助您更輕松地探索和使用新 API,請查閱 API 變化報告 (API 27->DP2,?DP1->DP2) 以及?Android P API 文檔。訪問開發(fā)者預(yù)覽版網(wǎng)站了解詳情。

下載/更新 Android P 開發(fā)者預(yù)覽版 SDK 和工具包至 Android Studio 3.1,或使用最新版本的?Android Studio 3.2。如果您手邊沒有?Android P Beta 設(shè)備(或查看今天推送的次條文章),請使用?Android P 模擬器來運行和測試您的應(yīng)用。

您的反饋一直都至關(guān)重要,我們歡迎您暢所欲言。如果您在開發(fā)或測試過程中遇到了問題,請在文章下方留言給我們。再次感謝大家一路以來的支持。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容