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

做者 / Dave Burke, VP of Engineeringhtml

Android 經過 5G、摺疊屏、內置機器學習等新技術,照亮了移動設備的將來。而在這背後,咱們也愈來愈清楚地看到,一個強大的開發者社區有多麼重要。這個社區爲咱們提供及時、全面的反饋,幫助咱們打造出強大的平臺,從而讓開發者們的應用和遊戲得以吸引全球數十億用戶。今天,咱們發佈了 Android 11 的開發者預覽版,有了去年打下的基礎,今年的預覽版得以更早地與你們見面。

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

這還僅僅只是開始。與往年同樣,咱們將在接下來的幾個月中繼續分享新功能和更新,持續關注並處理來自社區的反饋,而後和你們一塊兒迎接 Google I/O。您如今要作的、也是最重要的事情是: 訪問 Android 11 開發者網站,下載適用於 Pixel 2 / 3 / 3a / 4 設備的系統映像,開始體驗這個全新的版本,並把您的想法反饋給咱們。android

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

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

今天發佈的僅是針對開發者的早期基準版本,並不面向平常使用,因此咱們只提供手動下載和刷新的安裝方式。咱們很是期待儘早聽到您的反饋,這有助於咱們進一步推動平臺的開發,以及知足您的需求。在本文中,咱們將爲您介紹 Android 11 帶來的新功能。您還能夠訪問開發者網站了解發布日程、測試方法,以及如何提供反饋等詳細信息。算法

發佈日程 developer.android.google.cn/preview/ove…api

測試方法 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…

△ 將高速體驗帶出家門,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 社區中提出這些寶貴反饋的每一位開發者,是你們的分享讓咱們得以打造更好的平臺!本次預覽版中的改進包括可選的媒體原始文件路徑訪問、更新過的 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 或從新編譯您的應用。您能夠查看開發者網站了解更多信息。

△ 開發者選項中的應用兼容性開關

灰名單更新 - 咱們已經更新了受限制的非 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 開發者網站了解詳情

相關文章
相關標籤/搜索