Android P Beta 爲開發者提供了豐富的方法來使用這些全新的、智能化的功能,而且更好地提高用戶參與度。android
您可在 Pixel 設備上馬上參與 Android P Beta的體驗。另外,得益於 Project Treble,您也可在咱們合做夥伴推出的高端機型 (請查看今天推送的文章) 上體驗到這個全新版本,如 Essential、諾基亞、Oppo、索尼、Vivo 和小米,更多機型也即將加入體驗陣營。安全
請 點擊訪問此網站 瞭解支持本次體驗的所有設備,以及如何在這些設備上安裝 Android P Beta。想要爲 Android P Beta 開發應用,請 點擊訪問此網站。網絡
請點擊藍色字體前往 「Android Developers 官方文檔」查看詳細說明app
Android P 讓智能手機能夠學習用戶、適應用戶,從而使 「智能」 更爲智能。如今您的應用能夠藉助本地硬件中的機器學習成果,來觸達更多受衆,併爲他們提供史無前例的體驗。框架
· 動態電量管理 (Adaptive Battery)機器學習
不管用戶們使用的是何種手機,電量一直都是他們最爲關心問題。在 Android P 中,咱們和 DeepMind 合做推出了一個全新功能,即動態電量管理 (Adaptive Battery),來優化各個應用的電量使用。模塊化
動態電量管理經過機器學習來管理用戶們最關心的那些應用所能佔用的系統資源。各個應用會被劃分到四個不一樣的羣組裏, 這些羣組對系統資源調用有不一樣的限制,咱們稱之爲 「應用待機羣組 (App Standby buckets)」。隨着用戶的使用,應用會在這四個羣組裏切換,那些不在 「活躍 (active)」 組裏的應用在包括任務 (jobs)、警報、網絡以及高優先級的 Firebase Cloud Messages 等資源調用上會受到相應的限制。若是您的應用已經針對 Doze, App Standby 和後臺運行限制作過優化,那麼它就應該已經能和動態電量管理完美配合。咱們建議您在四個應用待機羣組中都對本身的 app 進行測試,請閱讀相關文檔瞭解詳情。工具
· App Actionspost
當用戶想要作一個操做的時候,App Actions 會推薦能幫助他們完成這個操做的 app,並且這個推薦的功能會覆蓋整個操做系統中的重要交互環節,好比啓動器 (Launcher)、智能文本選擇、Google Play、Google Search 應用,以及 Assistant。性能
App Actions 經過機器學習來分析用戶最近的行爲或使用場景,從而篩選出須要推薦的應用。因爲這些推薦與用戶當前想要作的事情高度關聯,因此這套機制很是利於拓展新用戶以及促活現有用戶。
只需將您應用中的各個功能定義爲語義意圖 (semantic intent),即可以充分享受 App Actions 帶來的好處。App Actions 中的 意圖和咱們早些時候在 Google Assistant 上推出的 語音對談式動做 (Conversational Action) 是使用同一套通用意圖分類,這個分類支持語音控制的音箱、智能屏幕、車載系統、電視、耳機等設備。因爲不須要額外的 API 接口,因此只要用戶的 Android 平臺版本支持,App Actions 就能夠正常使用了。App Actions 很快就會面向開發者發佈,若是您但願收到這方面的通知,請點擊這裏找到相關連接參與訂閱。
· Slices
和 App Actions 一同到來的新功能還有 Slices,這個功能可讓您的應用以模塊化、富交互的形式插入到多個使用場景中,好比 Google Search 和 Assistant。Slices 支持的交互包括 actions、開關、滑動條、滑動內容等等。
Slices 是讓內容與用戶聯繫的極佳方式,因此咱們但願它能夠在更多的場景中出現。除了在 Android P 上對這個功能進行了平臺級別的整合外, Slices 的 API 和模板也加入到了 Android Jetpack 裏。Android Jetpack 是咱們全新打造的一套建立優秀應用的工具和庫,經過 Android Jetpack,您製做的 Slices 能在 Kitkat (API 等級 19) 及更高版本上使用 —— 這覆蓋了 95% 的已激活 Android 設備。咱們也會按期更新 Slices 的模板來支持更多類型的場景和交互 (好比文本輸入)。 請查閱 上手指南以瞭解如何製做 Slices,使用 SliceViewer 工具查看您作好的 Slices。接下來,咱們計劃進一步拓展其使用場景,包括在其餘 app 中展示您的 Slices。· 通知智能回覆 (Smart reply in notifications)
機器智能能夠爲用戶體驗帶來很是積極的進化,Gmail 和 Inbox 裏的智能回覆功能已經成功地證實了這一點。在 Android P 中,通知消息也加入了智能回覆功能,並且咱們準備了 API 讓您能夠爲用戶帶來更度身的使用感覺。用來幫助您更輕鬆地在通知中生成回覆的 ML Kit 很快就會到來,請 點擊訪問此網站 瞭解詳情。
· 文本識別 (Text Classifier)
在 Android P 中,咱們將識別文本的機器學習模型進行了擴展,使得它能夠識別出諸如日期或航班號這樣的信息,並經過 TextClassifier API 來讓開發者使用到這些改進。咱們還更新了 Linkify API 來利用文本識別的結果生成連接,併爲用戶提供了更多點擊後的選項,從而讓他們得以更快地進行下一步操做。固然,開發者也能夠在給文本識別出來的信息添加連接時擁有更多的選項。智能 Linkify 在識別精準度以及速度上都有明顯的提高。
這個模型如今正在經過 Google Play 進行更新,因此您的應用使用現有的 API 就能夠享受到本次更新所帶來的變化。在安裝更新完的模型後,設備便可直接在本地識別文本里的各類信息,並且這些識別出來的信息只保存在您的手機上而不會經過網絡流傳出去。
請點擊藍色字體前往 「Android Developers 官方文檔」查看詳細說明
在 Android P,咱們格外強調簡潔,並據此改進 Android 的 UI 從而幫助用戶們更流暢、更高效地完成操做。對開發者來講,簡潔的系統則會幫助用戶更容易查找、使用和管理您的應用。
· 全新系統導航 (New system navigation)
咱們爲 Android P 設計了全新的系統導航,只需使用下圖中這個在全部界面中都能看到的小按鈕,便可更輕鬆地訪問手機主屏、概覽頁以及 Assistant。新導航系統也使多任務切換及發現關聯應用變得更加簡單。在概覽頁,用戶能夠擁有更大的視野來查看他們以前中斷的操做,這天然也會讓他們更容易找到並回到以前的應用中。概覽頁也提供了搜索、預測推薦應用以及上文提到的 App Actions,並且只需再多劃一次便可進入全部應用的列表。
· 文字放大鏡 (Text Magnifier)在 Android P 中,咱們加入了新的放大鏡工具 (Magnifier widget),使選擇文本和調整光標位置變得更加輕鬆。默認狀況下,全部繼承自 TextView 的類都會自動支持放大鏡,但您也可使用放大鏡 API 將它添加到任何自定義的視圖上,從而打造更多樣化的體驗。
· 後臺限制 (Background restrictions)
用戶能夠更加簡單地找到並管理那些在後臺消耗電量的應用。經過 Android Vitals 積累下來的成果,Android 能夠識別那些過分消耗電量的行爲,如濫用喚醒鎖定等。在 Android P 中,電池設置頁面直接列出了這些過分消耗電量的應用,用戶只需一次點擊就能夠限制它們在後臺的活動。
一旦應用被限制,那麼它的後臺任務、警報、服務以及網絡訪問都會受限。想要避免被限制的話,請留意 Play Console 中的 Android Vitals 控制面板,幫助您瞭解如何提升性能表現以及優化電量消耗。後臺限制能有效保護系統資源不被惡意消耗,從而確保開發者的應用在不一樣製造商的不一樣設備上也能擁有一個基礎的合理的運行環境。雖然製造商能夠在限制列表上額外添加限制的應用,但它們也必須在電池設置頁面爲用戶開放這些限制的控制權。
咱們添加了一個標準 API 來幫助應用知曉本身是否被限制,以及一個 ADB 命令來幫助開發者手動限制應用,從而進行測試。具體請參閱相關文檔。接下來咱們計劃在 Play Console 的 Android Vitals 控制面板裏添加一個統計數據,以展現應用受到限制的狀況。
· 使用動態處理加強音頻 (Enhanced audio with Dynamics Processing)
Android P 在音頻框架里加入了動態處理效果 (Dynamic Processing Effect) 來幫助開發者改善聲音品質。經過動態處理,您能夠分離出特定頻率的聲音,下降過大的音量,或者加強那些太小的音量。舉例來講,即使說話者離麥克風較遠,並且身處嘈雜或者被刺耳的各類環境音包圍的地方,您的應用依然能夠有效分離並加強他/她的細語。
動態處理 API 提供了多聲場、多頻段的動態處理效果,包括一個預均衡器、一個多頻段壓縮器,一個後均衡器以及一個串聯的音量限制器。這樣您就能夠根據用戶的喜愛或者環境的變化來控制 Android 設備輸出的聲音。頻段數量以及各個聲場的開關都徹底可控,大多數參數都支持實時控制,如增益、信號的壓縮/釋放 (attack/release) 時長,閾值等等。
請點擊藍色字體前往 「Android Developers 官方文檔」查看詳細說明· 用戶識別提示 (Biometric prompt)
Android P 爲市面上涌現出來的各類用戶識別機制在系統層面提供了統一的使用體驗,應用們再也不須要自行提供用戶識別操做界面,而只須要使用統一的 BiometricPrompt API 便可。這套全新的 API 替代了 DP1 版本中的 FingerprintDialog API,且支持包括指紋識別 (包括屏幕下指紋識別)、面部識別以及虹膜識別,並且全部系統支持的用戶識別需求都包含在一個 USE_BIOMETRIC 權限裏。FingerprintManager 以及對應的 USE_FINGERPRINT 權限已經被廢棄,請開發者儘快轉用 BiometricPrompt。
· 受保護的確認操做 (Protected Confirmation)Android P 新增了受保護的確認操做 (Android Protected Confirmation),這個功能使用可信執行環境 (Trusted Execution Environment, TEE) 來確保一個顯示出來的提示文本被真實用戶確認。只有在用戶確認以後,TEE 纔會放行這個文本並可由應用去驗證。
· 對私有密鑰的加強保護 (Stronger protection for private keys)
咱們添加了一個新的 KeyStore 類型,StrongBox。並提供對應的 API 來支持那些提供了防入侵硬件措施的設備,好比獨立的 CPU,內存以及安全存儲。您能夠在 KeyGenParameterSpec 裏決定您的密鑰是否該交給 StrongBox 安全芯片來保存。
爲用戶帶來新版本的 Android 須要 Google、芯片供應商以及設備製造商和運營商的共同努力。這個過程當中充滿了技術挑戰,並不是一日之功 —— 爲了讓這個過程更加順暢,去年咱們啓動了 Project Treble,並將其包含在 Android Oreo 中。咱們與合做夥伴們一直在努力開發這個項目,也已經看到 Treble 所能帶來的機遇。
咱們宣佈,如下 6 家頂級合做夥伴將和咱們一塊兒把 Android P Beta 帶給全世界的用戶,這些設備包括:索尼 Xperia XZ2, 小米 Mi Mix 2S, 諾基亞 7 Plus, Oppo R15 Pro, Vivo X21UD 和 X21, 以及 Essential PH‑1。此外,再加上 Pixel 2, Pixel 2 XL, Pixel 和 Pixel XL,咱們但願來自世界各地的早期體驗者以及開發者們都能經過這些設備體驗到 Android P Beta。
您可查看今天推送的文章查閱支持 beta 體驗的合做夥伴和 Pixel 設備清單,並能看到每款設備的詳細配置說明。若是您使用 Pixel 設備,如今就能夠加入 Android Beta program,而後自動得到最新的 Android P Beta。
立刻開始在您喜歡的設備上體驗 Android P Beta 吧,歡迎您向咱們反饋意見和建議!並請繼續關注 Project Treble 的最新動態。
隨着愈來愈多的用戶開始體驗 Android P Beta,是時候開始測試您 app 的兼容性,以儘早解決在測試中發現的問題並儘快發佈更新。請查看遷移手冊瞭解操做步驟以及 Android P 的時間推動表。
請從 Google Play 下載您的應用,並在運行 Android P Beta 的設備或模擬器上測試用戶流程。確保您的應用體驗良好,並正確處理 Android P 的行爲變動。尤爲注意動態電量管理、Wi-Fi 權限變化、後臺調用攝像頭以及傳感器的限制、針對應用數據的 SELinux 政策、默認啓用 TLS 的變化,以及 Build.SERIAL 限制。
· 公開 API 的兼容性 (Compatibility through public APIs)
針對非 SDK 接口的測試十分重要。正如咱們以前所強調的,在 Android P 中,咱們將逐漸收緊一些非 SDK 接口的使用,這也要求廣大的開發者們,包括 Google 內部的應用團隊,使用公開 API。
若是您的應用正在使用私有 Android API 或者庫,您須要改成使用 Android SDK 或 NDK 公開的 API。咱們在 DP1 裏已經對使用私有接口的開發者發出了警告信息,從 Android P Beta 開始,調用非 SDK 接口將會報錯 (部分被豁免的私有 API 除外) —— 也就是說您的應用將會遭遇異常,而再也不只是警告了。
爲了幫助您定位非 SDK API 的使用狀況,咱們在 StrictMode 里加入了兩個新的方法。您可使用 detectNonSdkApiUsage() 在應用經過反射或 JNI 調用非 SDK API 的時候收到警報,您還可使用 permitNonSdkApiUsage() 來阻止 StrictMode 針對這些調用報錯。這些方法均可助您瞭解應用調用非 SDK API 的狀況,但請注意,即使調用的 API 暫時獲得了豁免,最保險的作法依然是儘快放棄對它們的使用。
若是您確實遇到了公開 API 沒法知足需求的狀況,請馬上告知咱們。更多詳細內容請查看相關文檔。
· 凹口屏測試 (Test with display cutout)
針對凹口屏測試您的應用也十分重要。如今您能夠在運行 Android P Beta 的合做夥伴機型上測試,確保您的應用在凹口屏上表現良好。同時,您也能夠在 Android P 設備的開發者選項裏打開對凹口屏的模擬,對您的應用作相應測試。
在準備好開發條件後,請深刻了解 Android P 並學習能夠在您的應用中使用到的全新功能和 API。爲了幫助您更輕鬆地探索和使用新 API,請查閱 API 變化報告 (API 27->DP2, DP1->DP2) 以及 Android P API 文檔。訪問開發者預覽版網站瞭解詳情。
下載/更新 Android P 開發者預覽版 SDK 和工具包至 Android Studio 3.1,或使用最新版本的 Android Studio 3.2。若是您手邊沒有 Android P Beta 設備 (或查看今天推送的次條文章),請使用 Android P 模擬器來運行和測試您的應用。
您的反饋一直都相當重要,咱們歡迎您暢所欲言。若是您在開發或測試過程當中遇到了問題,請在文章下方留言給咱們。再次感謝你們一路以來的支持。
請點擊藍色字體前往 「Android Developers 官方文檔」查看詳細說明