Android 9 Pie 現已面向全球正式發布!

Android 9 Pie 現已面向全球正式發布!的圖1

經歷一年多的開發和數月以來早期用戶的反復測試,最新 Android 平臺 —— Android 9 Pie 終于正式面向全球發布!

Android 9 利用人工智能技術,讓您的手機更加智能、簡潔與人性化。請通過本文了解 Android 9 的所有新特性,同時也希望各位開發者能夠借助 Android 9,全面提升應用性能,打造出色體驗,讓您的應用與用戶走得更近!

在 Android 9 的開發過程中,十分感謝大家的積極反饋 ,我們收到了超過 1000 條報錯與特性請求 。共有超過 140,000 名開發者通過 Android Beta 項目試用了之前發布的開發者預覽版,此外,更有 7 家頂尖合作設備廠商相繼推出了支持 Android P Beta 版的旗艦機型,幫助我們獲取全球早期 Beta 用戶的反饋。

從今天起,我們將在 Android 開源項目 (AOSP) 中發布 Android 9 源碼,同時開始向 Pixel 用戶推送系統更新通知,其它更多 Android 設備預計會在接下來的幾個月內陸續收到通知。

我們會繼續努力將 Android 打造成一流的開放平臺,助力全球開發者取得商業成功。期望各位能夠利用 Android 9 這個新平臺并借助 Google Play 中新增的功能,開發出優質的應用和游戲,通過最有效和安全的方式,為全球用戶帶去精彩體驗!

Android 9 終版新功能

以機器學習為核心,打造更為智能的手機

Android 9 賦予手機強大的學習能力:系統能夠根據用戶在使用過程中展露的習慣與偏好,進行自我學習與適應 —— 從強勁續航到人性化應用推薦,Android 9 都能想您所想,保障持久流暢的用戶體驗。

動態電量管理

我們與 DeepMind 合作推出了動態電量管理特性,利用機器學習技術對系統資源進行有限分配,更專注于用戶最常用的應用。如果您已經針對低耗電模式應用待機模式以及后臺限制對您的應用進行過相關優化,那么它就應該已經能夠和動態電量管理特性完美配合。如果您暫時還未開始優化工作,請閱讀電量管理官方文檔,獲取具體操作指南。

Android 9 Pie 現已面向全球正式發布!的圖2
Slices

Slices 能夠有效幫助用戶節省操作時間,不需要通過全屏體驗就能夠使用應用的部分功能。借助配套的 UI 模板,Slices 能夠將應用內容以高動態、富交互的形式插入到多個使用場景中,比如 Google Search 和 Assistant。請進一步了解如何在應用中構建 Slices。

Android 9 Pie 現已面向全球正式發布!的圖3

App Actions

App Actions 是一種全新的應用推薦方式。開發者可以利用這個功能,讓更多人看到自己的應用并極大提高用戶參與度。借助機器學習技術,App Actions 能對應用的語義意圖和使用場景進行分析,并根據分析結果在適當的時機向用戶推薦您的應用。

Android 9 Pie 現已面向全球正式發布!的圖4
我們將在接下來幾周內公布具體操作細節,幫助開發者了解如何在應用內處理一個或多個用戶意圖。一旦應用啟用該推薦功能后,系統就會根據用戶請求,在眾多 Google 和 Android 交互入口推薦您的應用。

文本識別與 Smart Linkify

在 Android 9 中,我們對識別文本的機器學習模型進行了擴展,使其可以借助 TextClassifier API 識別出類似日期或航班號這樣的信息。此外, Smart Linkify 允許開發者通過 Linkify API 使用文本識別模塊完成多項操作,比如對用戶可采取的操作提出建議。Smart Linkify 讓系統在文本識別精確度與速度上都有明顯的提升。

Android 9 Pie 現已面向全球正式發布!的圖5
神經網絡 API 1.1

Android 9.0 對神經網絡 API 進行了擴展與改進,進一步優化 Android 對機器學習硬件加速的支持。神經網絡 API 1.1 共增加了對 9 個新算子的支持,它們分別是 Pad、BatchToSpaceND、SpaceToBatchND、Transpose、Strided Slice、Mean、Div、Sub 和 Squeeze。TensorFlow Lite 就是一個已經用上此 API 的典型機器學習框架。

人機交互,就是這么容易

“讓智能手機更加智能” 是我們向前邁進的重要一步。但是,如何把握好用戶與科技的關系 —— 讓科技以人為先,這一點也同樣關鍵。在 Android 9 中,我們大幅度改進了用戶界面,讓它更簡潔,也更易于操作;對于開發者而言,這些變更能夠讓用戶更加容易搜索,使用和管理您的應用。

全新系統導航

經過一年多的努力, Android 9 迎來了全新的系統導航,讓多任務切換及關聯應用探索變得更加簡單。您只需要向上滑動屏幕就可以全屏預覽最近使用過的應用,輕觸預覽頁后便可以切換至所選應用。

Android 9 Pie 現已面向全球正式發布!的圖6
凹口屏支持

Android 9 中加入了凹口屏支持,讓您的應用可以充分利用最新全面屏,展現應用的獨特魅力。該功能可以在大部分應用中無縫工作,系統會通過調整狀態欄高度將應用內容與屏幕缺口區域分開。如果您的應用含有沉浸式內容,您可調用 display cutout APIs 確認缺口形狀與位置,然后請求圍繞缺口進行全屏布局。另外,我們還加入了開發者選項來模擬任意設備上的凹口形狀,從而極大簡化了應用支持凹口屏幕所需的構建以及測試流程。

Android 9 Pie 現已面向全球正式發布!的圖7
△ 內含沉浸式內容的應用可以在凹口屏設備上實現全屏顯示
通知與智能回復

Android 9 進一步改善了通知的實用性與可操作性。消息類應用可以調用新的 MessagingStyle API 來顯示對話,附加照片和表情,或者提供智能回復建議。再過不久,您就可以使用 ML Kit 在應用中生成智能回復。

Android 9 Pie 現已面向全球正式發布!的圖8
△ 在 MessagingStyle 通知中,您可以顯示對話和智能回復 (左) 或添加圖片和表情 (右)

文本放大鏡

Android 9 中添加文字放大鏡工具 (Magnifier widget),以提升文本選擇方面的用戶體驗。由于該放大器提供了可以在文本上方拖拽的文本放大面板,所以有助于用戶精準地定位光標或文本選擇手柄。該功能可以靈活運用在所有附加在窗口的視圖上,個性化小部件和定制文本呈現均是不錯的應用場景。而且,該放大器工具還可以提供任何視圖或界面的放大版本,而不僅僅是文本。

Android 9 Pie 現已面向全球正式發布!的圖9
請閱讀《 Android P 中的新文本特性》,了解更多有關放大鏡以及文本特性的相關信息,如 Precomputed Text、行高以及基線文本對齊。

用戶安全與隱私

統一身份驗證對話框

生物傳感器被廣泛應用于身份認證,為了保障用戶在不同感應器和應用間能夠獲得一致的體驗, Android 9 引入了統一的身份驗證對話框,提示用戶進行操作。應用不再需要自行設計對話框,而是通過調用 BiometricPrompt API 觸發系統對話框。除指紋識別以外 (包括屏幕下指紋識別),該 API 還支持面部識別以及虹膜識別。

Android 9 Pie 現已面向全球正式發布!的圖10
若您的應用仍在使用自行設計的指紋識別對話框,我們建議您盡快轉用 BiometricPrompt API。

高可信度用戶確認

Android 9 新增了高可信度用戶確認 (Android Protected Confirmation) ,該功能通過可信執行環境 (TEE) 確保提示文本被真實用戶確認。只有在用戶成功確認之后,TEE 才會簽發該文本,讓應用進行后續驗證步驟。

加強密鑰安全保護

我們還加入了一個新的 KeyStore 類 —— StrongBox,并提供相應的 API 來支持那些提供了防入侵硬件措施的設備,比如獨立的 CPU,內存以及安全存儲。您可以在 KeyGenParameterSpec 里進行設置,決定是否把密鑰交給 StrongBox 安全芯片來保存。

DNS over TLS

Android 9 內置對 DNS over TLS 的支持:若網絡 DNS 服務器提供支持,設備會自動將 DNS 查詢升級為 TLS 查詢。用戶可以通過更改 “網絡和互聯網” 設置下的隱私 DNS (Private DNS) 模式來管理 DNS over TLS 行為。自行運行 DNS 查詢的應用可以通過調用新的 LinkProperties.isPrivateDnsActive() API 來獲取 DNS 模式相關信息。請閱讀《Android P 開發者預覽版支持 DNS over TLS》,獲取進一步信息。

默認使用 HTTPS

為了將所有網絡流量從明文 (未加密的HTTP) 逐步遷移至 TLS,我們更改了網絡安全配置的默認設置,以阻止所有明文流量,強制應用通過 TLS 建立網降連接,除非開發者明確允許特定域名使用明文傳輸。

基于編譯器的安全緩解措施

Android 9 將進一步擴展編譯器級別的安全緩解措施,借助運行時危險行為監測進一步加強平臺安全建設。Android 9 通過控制流程完整性 (CFI) 技術解決了代碼重用 (code-reuse) 和任意代碼執行兩大漏洞,并擴展了 CFI 在媒體框架和其它關鍵安全組件內的使用范圍,如 NFC 與藍牙。同時,Android 9 還針對 Android 常見內核的 LLVM 編譯添加了 CFI 內核支持。

此外,Android 9 還將整數溢出檢查器 (Integer overflow sanitizer) 的使用范圍擴展到其他庫,以緩解內存損壞與信息泄露這兩個問題。我們調高了檢查器在以下兩類庫中的優先級:1) 存在歷史漏洞,2) 需要處理復雜且不受信任的輸入,如 libui、libnl 和 libmediaplayerservice 一類的庫都在調整范圍內。

用戶隱私

Android 9 新加入多項機制,進一步加強了對用戶隱私的保護。系統禁止所有處于空閑狀態的應用對話筒、攝像頭和所有 SensorManager 傳感器的訪問。當應用的 UID 空閑時,麥克風將會報告 “無音頻信號”,傳感器將會停止報告事件,應用使用的攝像頭也會斷開連接,并在應用試圖訪問時生成錯誤。在大多數情況下,這些限制不會對現有應用造成新的問題,但建議您從應用中移除此類傳感器請求。

Android 9 還讓用戶控制是否允許訪問平臺 build.serial 識別碼 (它被 READ_PHONE_STATE 權限保護) 。自 Android 8.0 以來,直接訪問此識別碼的功能已被棄用。您可以調用 Build.getSerial() 方法,訪問 build.serial 識別碼。

了解全部隱私變更

感官新體驗: 攝像和影音的全面升級

多攝像頭 API 以及其它改進

從 Android 9 開始,您可以在支持多攝像頭 API 的設備上通過兩個或更多實體攝像頭同時訪問視頻流;在配有雙前置或雙后置攝像頭的設備上,實現單攝像頭無法實現的創新功能:如無縫變焦、散景和立體視覺。該 API 還允許您調用可以在兩臺或更多臺攝像頭之間自動切換的邏輯或混合攝像頭視頻流。

攝像頭的其他改進還包括:利用新的會話參數 (Session parameters) 來有效減少初始捕捉時的延遲,表面 (Surface) 共享技術讓攝像頭客戶端無須重啟視頻流便可處理各種場景。此外,我們還加入了相關 API,提供基于屏幕閃光燈支持及 OIS 時間戳的訪問權限。

HDR VP9 視頻以及 HEIF 圖像

Android 9 增加了對 HDR VP9 Profile 2 的內置支持?,F在,您可以在支持 HDR 的設備上,把啟用 HDR 功能的視頻內容分享給您的用戶。

另外,我們還在添加了對 HEIF (heic)  圖像編碼的平臺支持。 HEIF 是目前比較流行的一種的壓縮格式,它改善了圖片的壓縮效果,并減少了圖片的儲存空間以及網絡流量。引入平臺支持后,開發者能更加方便地從后臺服務器傳輸并使用 HEIF 圖像。一旦確定您的應用與該數據格式兼容,可用于分享或者顯示,不妨嘗試將 HEIF 設定為應用內圖片的儲存格式。此外,您還可以通過 ImageDecoder 將 jpeg 文件轉化為 heic 文件,或通過 Bitmap Factory 從 jpeg 文件中獲取位圖。您亦可使用 AndroidX 庫中的 HeifWriter從 YUV 字節緩沖區、Surface以及位圖中寫入 HEIF 靜態圖像。

使用動態處理增強音頻

開發者可以調用 Dynamics Processing API 對音頻進行動態處理,通過分離出特定頻率的聲音,降低過大的音量,或者增強過小的音量,來改善應用的音頻質量。比如說,即便說話者聲音小,離麥克風遠,而且外界環境十分嘈雜,您的應用依然可以有效捕捉并他/她的聲音,并進行相應優化。該 API 提供了多聲場、多頻段的動態處理效果,包括一個預均衡器、一個多頻段壓縮器,一個后均衡器以及一個串聯的音量限制器。

Android 9 Pie 現已面向全球正式發布!的圖11
用于位圖和 drawable 的 ImageDecoder

ImageDecoder API 讓開發者可以通過一種更為簡單的方式將圖像解碼為位圖或 drawable。ImageDecoder 允許您從字節緩沖區、文件或 URI 創建位圖或 drawable。它相比 BitmapFactory 有以下幾個優勢:支持精確縮放,支持單步解碼至硬件存儲器,支持解碼后處理,以及動畫圖像解碼。請獲取進一步信息

網絡連接與位置

使用 Wi-Fi RTT ,進行室內定位

Android 9 為 IEEE 802.11mc Wi-Fi 協議添加了平臺支持 (也稱為 Wi-Fi 往返時間,RTT),這可以讓您在應用中使用室內定位功能。在提供硬件支持的 Android 9 設備上,在啟動位置服務并勾選 “允許獲取地理位置信息” 選項后,應用就可以使用 RTT API 測量與附近 Wi-Fi 接入點 (AP) 的距離。設備不需要連接到 AP 便可以使用 RTT,而且為了保護隱私,只有手機能夠確定距離,而 AP 不可以。

Android 9 Pie 現已面向全球正式發布!的圖12
通過測量從設備到三個或更多 AP 的距離,您可以計算設備位置至 1 到 2 米的精度。這種精確度允許您創建更多新的體驗:室內導航、基于位置的細粒度服務,例如,模糊語音控制 ( "打開這里的燈" ) ;以及基于位置的資訊服務 ( "這個產品有優惠活動嗎?" )。

JobScheduler 中的數據費用敏感度

JobScheduler 是 Android 的一項核心服務,它可以幫助您針對低耗電模式、應用待機模式以及后臺限制,妥善進行各種任務的調度。在 Android 9 中,JobScheduler 可以更好地幫助用戶處理與網絡相關的任務,并與運營商單獨提供的網絡狀態信號相協調。任務現在可以聲明預估數據量、信號預取以及指定詳細的網絡要求 —— 運營商可以報告網絡狀況是擁塞還是不計量,然后 JobScheduler 會根據網絡狀態管理作業。例如,當網絡擁塞時,JobScheduler 可能推遲大型網絡請求;而在網絡可以不計量使用時,則可以運行多種預加載作業 (例如,預讀標題) 來改進用戶體驗。

用于 NFC 支付和安全交易的 Open Mobile API

Android 9 將 GlobalPlatform Open Mobile API 的實現添加至平臺中。在支持的設備上,應用可以使用 OMAPI API 訪問安全元素 (SE) ,以啟用智能卡支付等安全服務。硬件抽象層 (HAL) 提供了必要的 API,用于枚舉多種可用的 Secure Elements (如 eSE, UICC 等)。

更強勁的性能表現

ART 性能提升

Android 9 借助 ART 運行時顯著提高了應用的性能表現與運行效率。我們擴展了 ART 對執行特征的使用,以優化應用并減少已編譯應用代碼的內存占用量。ART 現可使用特征文件信息在設備上重寫 DEX 文件,幫助多個常見應用的內存占用減少高達 11%。我們期望借此減少系統 DEX 內存使用量并加快應用啟動時間。

Kotlin 優化

Kotlin 是 Android 開發的一等編程語言,如果您還未嘗試,還在等什么呢?我們在 Kotlin 性能方面進行了長期資源投入,同時持續加大對 Kotlin 的支持,如優化 Kotlin 代碼性能。在 Android 9 中,您會看到這項工作已初見成效 —— 我們已經改進了一些編譯器優化,尤其是那些針對循環的編譯器優化,以實現更好的性能。我們還將繼續與 JetBrains 合作,優化 Kotlin 生成的代碼。只需保持更新 Android Studio 上的 Kotlin 插件,您就能獲得所有最新的 Kotlin 性能更新。

今天,我們還在 Android 9 中發布了更新后的 API —— API 28 SDK (rev. 6),在部分最常用的 API 內加入可空值注解 (nullability annotation)。我們會在近期發布相關文章,提供更多細節信息,敬請期待。

現代化的 Android

在 Android 9 中,我們繼續投入大量資源,進一步打造更為現代的 Android 平臺與運行應用,進而推動我們在安全性、性能和穩定性這三方面長遠目標的實現。

我們在去年就已經宣布過 Google Play 將要求所有應用在 2018 年 11 月之前針對 Android Oreo (targetSdkVersion 26 或更高) 進行更新。因此,若您的應用目標平臺版本早于 Android 4.2 (API等級17),用戶在安裝您的應用時,系統會彈出警告對話框。請閱讀遷移指南相關文檔。我們期待著您的應用能夠充分利用現代 Android 為用戶帶來更好的體驗。

簡單幾步,即可上手

由于 Pixel 用戶從今天起就可以開始使用 Android 9,而其他設備也會在接下來的幾個月陸續收到更新推送,因此盡快適配您的應用至 Android 9。您只需在 Android 9 Beta 設備或者模擬器上使用 Google Play 安裝您目前的應用并進行測試,請確保您的應用在測試過程中運行流暢,界面美觀,并能夠妥善處理 Android 9 的各項行為變更

Android 9 Pie 現已面向全球正式發布!的圖13

同時,請您留心應用調用非 SDK 接口的情況。Android 9 限制了一些特定非 SDK 接口的訪問權限,因此您需要減少應用對這些接口的依賴。請閱讀《后續更新 | 減少使用非 SDK 接口以提升穩定性》,了解詳細信息。

在完成必要更新之后,我們建議您立即將應用發布至 Google Play,暫時無需更改應用的目標平臺版本。這能幫助您在保障用戶體驗的同時,繼續利用 Android 9 API 優化應用性能并將其逐步遷移至目標平臺。

利用 Android 9 特性和 API,進一步優化您的應用

當您準備就緒后,請盡情探索 Android 9,并利用新特性與 API 讓您的應用臻于完美。

首先,請將官方版 API 28 SDK 、最新的開發工具與映像文件下載至 Android Studio 3.1,或者使用 Android Studio 3.2 最新版本,然后將項目的 compileSdkVersion 和 targetSdkVersion 更新至 API 28。在更改完目標平臺版本之后,請確保您的應用支持所有的行為變更。

在您準備好后,請將 APK 更新發布至 Google Play。我們建議您使用 Google Play 中的 beta 測試功能,先獲取一小部分用戶的早期反饋,然后再逐漸進行全量發布。

訪問 Android 9 官方網站,閱讀文檔并獲取更多相關信息。點擊收看視頻或者前往 Google I/O Android 播放列表,了解 Android 9 為開發者準備的精彩新亮點。

即刻升級設備,體驗 Android 9

從今天開始,Pixel 設備將陸續獲取 Android 9 的更新推送。

其它加入 Beta 項目的設備,如 Sony、小米、HMD、Oppo、Vivo、一加和 Essential 以及所有符合要求的 Android One 設備預計會在今年秋末收到更新推送。與此同時,我們也在和其他合作伙伴展開合作,希望在今年推出更多新 Android 9 設備或升級現有設備以支持新系統。

此外,適用于 Pixel 設備的系統映像現可供下載

請前往 Android 開源項目資源庫中的 Android 9 板塊,獲取更多 Android 9 的相關資源。

下一步

Android 9 發布之際,開發者預覽版也就正式結束了。我們將在不久后關閉預覽版報錯渠道,但是請各位繼續向我們提供反饋!如果您遇到任何有關 Android 9 的問題,請通過 AOSP 反饋功能提交新的錯誤報告。

另外,我們計劃放慢 Android Beta 項目的步調,并移除項目內所有機型。如果您想繼續在 Pixel 設備上體驗預覽版 Android 系統,請點擊此處注冊,以便繼續獲取相關項目的信息。

"再次感謝大家此前對預覽版和公測版的大力支持。每一位開發者和早期用戶都為 Android 9 的誕生提供了必不可少的力量,幫助我們將 Android 9 打造成為卓越平臺,為開發者和用戶帶來精彩體驗。謝謝!"


作者:Android_開發者
來源:掘金

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

1