更上一層樓: Android 11 首個開發者預覽版到來

Android_開發者發表於2020-02-20

作者 / Dave Burke, VP of Engineering

更上一層樓: Android 11 首個開發者預覽版到來
Android 通過 5G、摺疊屏、內建機器學習等新技術,照亮了移動裝置的未來。而在這背後,我們也越來越清楚地看到,一個強大的開發者社群有多麼重要。這個社群為我們提供及時、全面的反饋,幫助我們打造出強大的平臺,從而讓開發者們的應用和遊戲得以吸引全球數十億使用者。今天,我們釋出了 Android 11 的開發者預覽版,有了去年打下的基礎,今年的預覽版得以更早地與大家見面。

Android 11 依然致力於讓使用者暢享最新科技,並始終確保將安全和隱私放在首位。我們加入了多個新功能,幫助使用者管理敏感資料和檔案的訪問許可權,此外還對平臺的關鍵區域做出了強化,以保持作業系統的彈性和安全性。對開發者來說,Android 11 為您的應用提供了許多新功能,例如針對可摺疊裝置和 5G 裝置的增強功能、來電過濾 API、全新的媒體和攝像頭功能、機器學習等等。

這還僅僅只是開始。與往年一樣,我們將在接下來的幾個月中繼續分享新功能和更新,持續關注並處理來自社群的反饋,然後和大家一起迎接 Google I/O。您現在要做的、也是最重要的事情是: 訪問 Android 11 開發者網站,下載適用於 Pixel 2 / 3 / 3a / 4 裝置的系統映像,開始體驗這個全新的版本,並把您的想法反饋給我們。

Android 11 開發者網站 developer.android.google.cn/11

系統映像 developer.android.google.cn/preview/dow…

今天釋出的僅是針對開發者的早期基準版本,並不面向日常使用,所以我們只提供手動下載和重新整理的安裝方式。我們非常期待儘早聽到您的反饋,這有助於我們進一步推進平臺的開發,以及滿足您的需求。在本文中,我們將為您介紹 Android 11 帶來的新功能。您還可以訪問開發者網站了解發布日程、測試方法,以及如何提供反饋等詳細資訊。

釋出日程 developer.android.google.cn/preview/ove…

測試方法 developer.android.google.cn/preview/mig…

提供反饋 developer.android.google.cn/preview/fee…

實用創新

實用創新

5G 正為全球更多使用者帶來更快的速度和更低的延遲。藉助 5G,您可以將 Wi-Fi 應用體驗帶給移動使用者——例如 4K 視訊直播或載入更高解析度的遊戲素材,您還可以針對 5G 設計構建全新的體驗。在 Android 11 中,我們正在增強和更新現有的網路連線 API,方便您使用 5G 特有的高速連線。

動態計費狀態 API - 您可以使用此 API 檢視連線是否處於非計費狀態。如果是非計費狀態的話,則可以提供更高的解析度或影像質量 (這些都需要更多的資料量)。我們已將 API 擴充套件到蜂窩網路,如果使用者連線進運營商的 5G 網路時可享有真正不計流量的資料服務,您能識別出這樣的狀態。

頻寬估測 API - 我們針對 5G 更新了 API,現在可以輕鬆檢視上行 / 下行頻寬,不再需要通過獲取網路資訊來自行估算。如果調變解調器不支援此功能,我們則會根據當前的連線進行預設估算。

現有的網路連線 API developer.android.google.cn/reference/a…

識別非計費狀態 developer.android.google.cn/reference/a…

檢視上行 / 下行頻寬 developer.android.google.cn/reference/a…

更上一層樓: Android 11 首個開發者預覽版到來
△ 將高速體驗帶出家門,5G 可以讓您的隨行移動體驗更加流暢,讓您隨時與周邊環境、朋友、家人互動並滿足工作的需要

新的螢幕型別

裝置廠商們也在持續進行創新,將新的裝置規格和螢幕形態投入市場。我們已經在平臺中擴充套件了對這些創新裝置的支援,並提供了相應的 API 方便您來優化應用。

挖孔螢幕和瀑布螢幕 - 應用可以使用現有的凹口屏 API 來管理挖孔螢幕和瀑布螢幕。還有新的 API 可以讓您的應用使用包括邊緣在內的整個瀑布螢幕,並通過邊襯區 (insets) 來管理邊緣附近的互動。

凹口屏 API developer.android.google.cn/guide/topic…

新的螢幕管理 API developer.android.google.cn/reference/a…

邊襯區 developer.android.google.cn/reference/a…

溝通互動

與好友和同事溝通仍然是許多使用者在手機上最重要的操作。在 Android 11 中,我們將提供一些新方法以便開發者能實現更深入的溝通體驗。在 DP1 中,您可以看到其中一些方法的早期實現:

通知欄中的對話專區 - 使用者可以更方便地找到常用 IM 工具中正在進行的對話。 氣泡 - 氣泡可以讓使用者在手機上多工切換時依然保持對話可見以及可用。訊息和聊天應用可以通過基於通知的 Bubbles API,在 Android 11 上提供這種全新體驗。 在通知回覆中插入影像 - 如果您的應用支援影像複製 / 貼上,那麼您現在可以讓使用者將內容直接插入到通知內嵌的回覆欄中,從而在應用內外都實現更豐富的交流體驗。作為 DP1 的一部分,您可以在 Chrome 中進行影像複製,以及通過 Gboard 剪貼簿貼上影像。

實時、雙向溝通應用請使用分享 / 對話快捷方式 API ,並指明聊天物件,這樣 Android 便可以更清楚地顯示出基於聊天物件的快捷操作;另外也請使用 Bubbles API,以便允許使用者在使用裝置的其他功能時進行對話。

Bubbles API developer.android.google.cn/guide/topic…

在快捷方式中指明聊天物件 developer.android.google.cn/reference/a…

Neural Networks API 1.3

Neural Networks API (NNAPI) 用於在 Android 裝置的機器學習中執行計算密集型操作。在 Android 11 上,我們將繼續擴充套件開發者可以使用的運算元和控制。在今天釋出的預覽版中,我們新增了新的運算元和執行控制,用來優化常見的使用場景:

服務質量 API 支援設定模型執行的優先順序和超時。 Memory Domain API 減少了用於連續模型執行時的記憶體複製和轉換。 擴大量化支援,我們增加了對有符號整數非對稱量化的支援,該演算法使用有符號整數代替浮點數,以實現更小的模型和更快的推斷。

我們在 NDK 樣例程式碼中展示瞭如何使用這些新的 API。

請繼續關注後續的預覽版更新。我們正在與硬體供應商和流行的機器學習框架 (如 TensorFlow) 合作,以優化並推出對 NNAPI 1.3 的支援。

有符號整數非對稱量化 www.tensorflow.org/lite/perfor…

NDK 樣例程式碼 github.com/android/ndk…

隱私和安全

隱私

隱私保護一直是 Android 系統的重要核心。每年我們都會加入更多方法來保護使用者安全,併為他們提高透明度和控制力。這些更改深受使用者歡迎——例如,在 Android 10 中,我們新增了 “使用該應用時” 的許可權選項,讓使用者可以更精細地控制自己的位置資訊,並限制後臺對這個資訊的訪問。現在,每當系統給出 “使用該應用時” 選項時,都會有大約一半的使用者選擇它。

在 Android 11 中我們繼續關注使用者的隱私,包括提供新的許可權選項,更新分割槽儲存,等等。請大家通過自己的應用嘗試使用這些功能,並將反饋分享給我們。

單次許可權 - 對於最敏感的資料型別,包括位置資訊、裝置的麥克風和攝像頭,使用者現在可以授予單次的臨時訪問許可權。這個許可權意味著應用可以訪問資料,直到使用者離開應用為止,此後,應用必須再次請求許可權,才能進行下一次訪問。請前往開發者網站了解詳情。

更上一層樓: Android 11 首個開發者預覽版到來
△ Android 11 的單次許可權對話方塊

分割槽儲存 - 我們一直在努力更好地保護外部儲存上的應用和使用者資料,加入了更多的改進以便讓開發者更輕鬆地進行過渡。這裡我們要感謝 Android 社群中提出這些寶貴反饋的每一位開發者,是大家的分享讓我們得以打造更好的平臺!本次預覽版中的改進包括可選的媒體原始檔案路徑訪問、更新過的 DocumentsUI、MediaStore 中的批量編輯操作。在這些技術更新之外,我們還根據大家的反饋,為大家準備了更充足的時間針對 Android 11 進行遷移和做出修改。請前往開發者網站了解詳情,並請繼續關注後續這方面的更新。

單次許可權詳情 developer.android.google.cn/preview/pri…

分割槽儲存詳情 developer.android.google.cn/preview/pri…

除了以上提及的系統變更外,使用者還告訴我們,他們希望在更早版本的 Android 上也獲得更多保護,以及提供關於應用如何使用這些資料的透明度。為此,我們正在更新 Google Play 政策,以確保應用只在其真正需要獲取位置資訊時才請求授權。您可以前往開發者網站了解更多。

瞭解更多 android-developers.googleblog.com/2020/02/saf…

安全

對於每個版本的 Android,提高安全標準始終是頭等大事——從通過月度安全性更新擴大裝置覆蓋面,到在最新平臺中構建更多保護措施等等。在 Android 11 中,我們將 Android 的縱深防禦策略擴充套件到了平臺內的更多區域,併為應用提供了新功能和新 API。

生物驗證 - 我們已經擴充套件了生物驗證的支援,以滿足各種裝置的需求。BiometricPrompt 現在支援三種不同顆粒度級別的身份驗證型別: 強、弱和裝置憑據。我們還將 BiometricPrompt 流程與應用的 Activity 生命週期解耦,從而使其更易於與各種應用架構整合,並改善特定交易的互動介面。所有使用生物驗證的應用都應遷移至 BiometricPrompt API,AndroidX 中也提供了這些 API,以幫助應用適配早期版本的 Android 系統。

平臺強化 - 我們已在安全性關鍵元件 (包括 BoundSan、IntSan、CFI 和 Shadow-Call Stack) 中擴充套件了基於編譯器的清理器的使用。我們還為目標為 Android 11 或更高版本的應用啟用了堆指標標記,以幫助應用捕獲生產中的記憶體問題。這些強化改進措施也許能幫助您捕獲更多可重複/可復現的導致應用崩潰的程式碼,所以請儘早測試您的應用。我們使用 HWAsan 定位和修復了許多系統記憶體錯誤,現在我們提供啟用了 HWAsan 的系統映像來幫助您查詢自己應用中的問題。

安全儲存與資料共享 - 應用現在可以通過 BlobStoreManager 與其他應用更輕鬆、安全地共享二進位制大型資料物件 (Blob)。Blob 儲存適合的場景很多,比如在同一使用者的多個應用之間共享 ML 模型。

身份認證資訊 - Android 11 新增了平臺支援,用於安全儲存和檢索可驗證的身份證明檔案,例如符合 ISO 18013-5 的機動車駕駛執照。我們近期會為大家帶來更詳細的說明。

身份驗證型別 developer.android.google.cn/reference/a…

AndroidX 中的 BiometricPrompt developer.android.google.cn/reference/a…

堆指標標記 source.android.com/devices/tec…

HWAsan source.android.com/devices/tec…

啟用了 HWAsan 的系統映像 android-developers.googleblog.com/2020/02/det…

BlobStoreManager developer.android.google.cn/reference/a…

更新與相容性

Google Play 系統更新

自 Android 10 起,我們一直在擴大對 Google Play 系統更新 (Project Mainline) 的投入,幫助推動整個生態系統的安全性、隱私性和一致性。得益於裝置製造商夥伴的緊密合作,我們取得了重大進展,並且擴充套件了基礎架構,可以更快速且安全地覆蓋更多裝置。

在 Android 11 中,我們新增了 12 個新的可更新模組,這樣模組總數達到了 22 個。這裡列舉一些亮點: 一個用於在 Android 裝置中為使用者和開發者提供標準的關鍵隱私控制元件的許可權模組;一個在分割槽儲存的隱私特性中至關重要的媒體提供模組;一個用於跨裝置優化效能及確保 API 一致的 NNAPI 模組。想要進一步瞭解 Google Play 系統更新,請移步 Project Mainline 博文了解更多。

Project Mainline 博文 android-developers.googleblog.com/2019/05/fre…

應用相容性

在推出新平臺版本時,我們還通過優先考慮應用相容性來努力使更新更快速、更順暢。在 Android 11 中,我們新增了新的流程、開發者工具以及釋出里程碑,以幫助我們最大程度地減少平臺更新帶來的影響。

最大限度地降低行為變更影響 - 雖然我們對 Android 做出的改進會讓系統更實用、安全和高效,但其中一些改動會影響到開發者的應用。在開發 Android 11 的過程中,我們密切關注並努力抑制行為變更帶來的影響,並儘可能地將這些變更設定為可選項——只有當您將應用的 targetSdkVersion 設為 Android 11 時才會受到這些影響。我們希望這些努力能為開發者帶來更多的控制權,並確保更多的應用在 Android 11 中處於開箱即用的狀態。 更輕鬆的測試和除錯 -為了幫助您測試相容性,我們將許多非相容性變更設定為 “可關閉”。這意味著,您可以通過開發者選項或 adb 強制啟用或禁用這些更改。這樣就無需為了一些基本測試而更改 targetSdkVersion 或重新編譯您的應用。您可以檢視開發者網站了解更多資訊。

更上一層樓: Android 11 首個開發者預覽版到來
△ 開發者選項中的應用相容性開關

灰名單更新 - 我們已經更新了受限制的非 SDK 介面列表。一如既往,歡迎您提出反饋,併發出公共 API 替代品的開發需求。

動態資源載入器 - 在開發者們移除非 SDK 介面呼叫的同時,我們聽到了來自開發者們的一個需求: 提供一個公開 API 來在執行時動態載入資源和素材。現在,我們在 Android 11 中新增了 Resource Loader 框架,感謝向我們提出這些需求的開發者!

新的平臺里程碑- 開發者還告訴我們,如果沒有明確的最終更改日期,那麼為早期應用相容性做準備是相當困難的。因此,在 Android 11 中,我們新增了一個新的名為 “平臺穩定性” 的里程碑,預計將在 6 月初達成。這個里程碑不僅包括最終的 SDK/NDK API,還包括最終的內部 API 和會影響到應用的系統行為。我們希望您可以使用這個新的里程碑來安排您的最終開發和測試日程。更多釋出日程的詳細資訊請檢視開發者網站。

瞭解更多 developer.android.google.cn/preview/tes… 受限制的非 SDK 介面列表 developer.android.google.cn/preview/non…

發出公共 API 替代品的開發需求 developer.android.google.cn/distribute/…

Resource Loader 框架 developer.android.google.cn/reference/a…

釋出日程 developer.android.google.cn/preview/ove…

優化與品質

網路連線

改進呼叫過濾服務 - 呼叫過濾應用現在可以為使用者提供更多助力。應用在呼叫詳細資訊中可以獲取來電的 STIR/SHAKEN 驗證狀態。應用還可以自定義系統提供的呼叫後螢幕 (post call screen),方便使用者執行諸如 “將呼叫方標記為騷擾電話” 或 “新增到聯絡人” 之類的操作。

增強 Wi-Fi 建議 API - 我們擴充套件了 Wi-Fi 建議 API,以使連線管理應用在管理網路時擁有更強大的能力。例如,它們可以通過刪除網路建議來強制斷開連線,管理 Passpoint 網路,獲取已連線網路的更多質量資訊,以及其他管理功能的更改。

增強 Passpoint 功能 - Android 現在會遵守 Passpoint 配置檔案的到期日期,並會發出通知 。支援該配置檔案中的 Common Name 規範,並允許 Passpoint R1 配置檔案使用自簽名的私有 CA。連線管理應用可以使用 Wi-Fi 建議 API 來管理 Passpoint 網路。

驗證狀態 developer.android.google.cn/reference/a…

呼叫後螢幕 developer.android.google.cn/reference/a…

Wi-Fi 建議 API developer.android.google.cn/guide/topic…

使用 Wi-Fi 建議 API 來管理 Passpoint 網路 developer.android.google.cn/reference/a…

影像與攝像頭改進

HEIF 動畫可繪製物件 - ImageDecoder API 現在允許您解碼和渲染儲存在 HEIF 檔案中的影像序列動畫,方便您引入高品質的素材,同時最大程度地減少對網路資料和 apk 尺寸的影響。相對於 GIF 動畫,HEIF 影像序列可以顯著減小檔案尺寸。通過在應用中呼叫 decodeDrawable 和一個 HEIF 資源,開發者即可在應用中呈現 HEIF 影像序列。當資源中包含影像序列時,會返回一個 AnimatedImageDrawable。

原生影像解碼器 - 應用可以使用新的 NDK API 來通過原生程式碼解碼和編碼影像 (JPEG、PNG、WebP),以便進行圖形或後期處理,而且因為您無需捆綁外部程式碼庫,從而依然得以保持較小的 APK 尺寸。原生解碼器還可以從 Android 持續的平臺安全更新中獲益。我們提供了 NDK 樣例程式碼作為使用參考。

在攝像頭拍攝時靜音 - 在會話處於活動狀態時,應用可以使用新的 API 來關閉鈴聲、提醒或通知時的振動。

散景模式 - 在支援該功能的裝置上,應用可以使用後設資料標籤讓攝像頭啟用散景模式進行拍攝。靜止影像模式可以提供最高質量的拍攝,而連續拍攝模式可以確保拍攝與感測器輸出 (例如視訊拍攝) 保持同步。

ImageDecoder API developer.android.google.cn/reference/a…

和 GIF 動畫的對比 nokiatech.github.io/heif/compar…

decodeDrawable developer.android.google.cn/reference/a…

AnimatedImageDrawable developer.android.google.cn/reference/a…

NDK API developer.android.google.cn/ndk/guides/…

NDK 樣例程式碼 github.com/android/ndk…

低延遲 MediaCodec 中的低延遲視訊解碼 - 低延遲視訊對於實時視訊串流應用和 Stadia 等服務至關重要。支援低延遲播放的視訊編解碼器會在解碼開始後儘快返回流的第一幀。應用可以使用新 API 來針對特定編解碼器檢查和配置低延遲播放。

HDMI 低延遲模式 - 應用可以使用新的 API 在外部顯示器和電視上進行檢查,並請求使用自動低延遲模式 (也稱為遊戲模式)。在該模式下,顯示器或電視會禁用圖形後處理,以最大程度地減少延遲。

Stadia stadia.google.com/

檢查編解碼器功能 developer.android.google.cn/reference/a…

配置編解碼器低延遲功能 developer.android.google.cn/reference/a…

即刻開始體驗 Android 11

不論是想體驗 Android 11 的功能、測試應用還是和我們分享您的反饋,都可以從這次的開發者預覽版開始。您現在可以下載並在 Pixel 2 / 2 XL、Pixel 3 / 3 XL、Pixel 3a / 3a XL 或者 Pixel 4 / 4 XL 裝置上刷入系統映像。另外,您還可以在 Android Studio 裡設定 Android 模擬器。執行 Android 11 映像的 Android 模擬器包含直接在 64 位 x86 Android 模擬器系統映像上執行 ARM 32 位和 64 位二進位制應用程式碼的實驗性支援。最後,針對更廣泛的測試,GSI 映像現在也已經可以獲取。

分享使用反饋 issuetracker.google.com/issues/new?…

獲取系統映像 developer.android.google.cn/preview/dow… GSI 映像 developer.android.google.cn/preview/gsi…

接下來,使用 Android 11 預覽 SDK 以及工具升級您的 Android Studio 環境——您在 Android Studio 裡即可完成這些操作。請檢視設定說明進一步瞭解如何操作。想要體驗 Android Studio 最新的功能,我們建議從 Canary 渠道獲取並安裝最新版本的 Android Studio。

設定說明 developer.android.google.cn/preview/set… Canary 渠道 developer.android.google.cn/studio/prev…

做好上述準備後,您可以著手進行這些事情:

體驗新功能和 API - 在開發預覽早期,您的反饋至關重要。我們會積極關注您針對新 API 的反饋,這樣也能讓我們有充足的時間做出修改。想了解這方面的詳細資訊,請移步 API 概覽、API 文件和變化說明。別忘了儘快向我們分享反饋和建議!

測試您現有應用的相容性- 這裡的目的是瞭解 Android 11 預設的行為變更有沒有影響到您的應用。只需將您目前已釋出的應用安裝到真機或模擬器裡並測試應用的完整流程即可。如果您發現了問題,我們建議儘快更新您的應用。

使用可選變更項測試您的應用 - 和以往的釋出一樣,Android 11 也包含可選的行為變更,它們只會在您的應用針對新平臺釋出時才會造成影響。儘早瞭解並評估這些變化十分重要。您可以逐一開啟或關閉這些變化專案,從而更輕鬆地評估它們的影響。在您進行測試時,也請和我們分享這些變化對您的應用造成的影響。

API 概覽 developer.android.google.cn/preview/fea…

API文件 developer.android.google.cn/reference/p…

變化說明 developer.android.google.cn/sdk/api_dif…

分享反饋和建議 issuetracker.google.com/issues/new?…

開啟或關閉變化專案 developer.android.google.cn/preview/tes… 分享反饋 developer.android.google.cn/preview/fee…

想了解更多資訊,請移步 Android 11 開發者網站。那裡為您準備了這次釋出的新增內容概覽、行為變更細節、設定和遷移說明、釋出日誌、反饋渠道等豐富的內容。

Android 11 開發者網站 developer.android.google.cn/preview

預覽更新

我們會在 Android 11 的釋出週期裡定期更新系統映像和 SDK。今天的初始釋出只面向開發者,並不面向日常使用,所以我們只提供手動下載和重新整理的安裝方式。請從開發者網站下載並進行安裝。

下載 developer.android.google.cn/preview/dow…

安裝 developer.android.google.cn/preview/dow…

隨著我們向最終產品邁進,我們也會邀請使用者加入測試,屆時會在 Beta 版本開放申請。請保持關注,但請注意現在 Android 11 並不提供 Beta 版。

請分享您的反饋!

您的反饋一如既往的重要,所以請務必和我們分享您的想法——我們越早聽到您的聲音,就能整合更多反饋。根據釋出時間表,我們會著重消化接下來幾周內收到的反饋。如果您在測試中發現了問題,請報告給我們。

分享您的想法 developer.android.google.cn/preview/fee…

報告問題 issuetracker.google.com/issues/new?…

更上一層樓: Android 11 首個開發者預覽版到來

點選這裡 前往 Android 11 開發者網站了解詳情

更上一層樓: Android 11 首個開發者預覽版到來

相關文章