做者: Dave Burke, 工程部副總裁html
I/O'19 期間 Android 達成了兩項里程碑的成就: 其一,迎來第 10 個主版本;其二,全球活躍設備數量突破 25 億臺。java
在前幾天的 2019 Google I/O 開發者大會上,咱們介紹了 Android Q 的一些新特性,併發布了 Android Q 的最新版本——Android Q Beta 3。不管是對於 Beta 3,仍是即將在今秋發佈的穩定版 Android Q 而言,您的反饋都是推進咱們進步的強大動力,在此,十分感謝你們一路以來的支持!android
今年,用戶可在由 12 個設備廠商出品的 15 款合做機型上體驗 Android Q Beta 3 —— 支持設備的數量是去年的兩倍!這一切得益於 Project Treble 計劃的落地,固然,更離不開 Google 合做夥伴的積極協助,爲咱們在全球加快 Android 的更新速率。這些合做夥伴包括華爲、小米、諾基亞、索尼、vivo、OPPO、一加、華碩、LGE、傳音、Essential 和 realme。算法
請前往 android.com/beta 查看所有的 Beta 設備,並瞭解詳細的更新步驟。若是您已擁有一臺 Pixel 設備,請訪問 Beta 體驗計劃,並在設備上獲取更新。若是您已加入計劃,設備將立刻收到更新推送。若是您想開始爲 Android Q Beta 開發應用,請移步 developer.android.google.cn/preview。api
正如咱們以前在 Google I/O 開發者大會上分享的同樣,Google 十分注重用戶隱私及安全,所以咱們在 Android Q 中增長了許多安全防禦方面的功能。安全
隱私性能優化
隱私是 Android Q 的主要着力點,從提高平臺的防禦等級,到以隱私爲中心設計新特性,咱們從多個角度突破,力圖提供完善的安全措施。固然,讓用戶享有更多控制權,確保應用和設備透明公開信息的收集和使用,這兩點也十分重要。服務器
爲了提供更好的隱私保護並授予用戶更多控制權,Android Q 在以前幾個版本的基礎上,引入了多項跨平臺變動,例如,咱們改進了系統 UI ,並針對應用數據使用權限引入了更爲嚴格的限制。網絡
好比說,Android Q 在位置訪問權限方面讓用戶享有更多控制。應用仍舊能夠發起請求,但從 Android Q 開始,用戶可選擇什麼時候容許應用獲取位置信息,如僅在使用該應用時容許、始終容許或拒絕。更多內容,請閱讀開發者指南,讓應用更好地應對位置管理新規定。併發
另外一項重要變動是限制應用從後臺啓動,防止應用忽然從後臺跳轉至前臺並擋住前臺應用。在 Beta 3 中,咱們再也不向應用發送 toast 警告,而是直接禁止應用啓動。
爲了防止應用追蹤設備,咱們限制應用訪問不可重置的設備識別號,如設備 IMEI 碼、序列號等等。請仔細閱讀最佳實踐,爲您的用例選擇正確的識別號。當應用鏈接不一樣的 Wi-Fi 網絡時,Android Q 會在鏈接中都隨機化 MAC 地址;另外,咱們也將網絡鏈接 API (Connectivity API) 置於位置權限的保護下。咱們提前與您分享這些變動,是爲了給您預留充足的時間作好準備。
安全
爲了保障用戶安全,咱們擴展了 BiometricPrompt 驗證框架,讓 Android 得以從系統層面提供生物驗證支持。另外,咱們還擴展了對人臉識別等被動驗證方法的支持,並加入了隱式和顯式兩個類型的身份驗證流。在顯式驗證流中,用戶必須明確確認執行事務操做;隱式驗證流則主要負責被動驗證這類較爲輕便的事務,無需用戶提供明確確認。
Android Q 還添加了 TLS 1.3 支持。TLS 1.3 是 TLS 標準的一次比較重要的更新,它在安全性、性能和隱私方面都進行了大幅優化。根據咱們收集到的數據顯示,與 TLS 1.2 相比,1.3 版本中安全網絡鏈接的創建速度加快了 40%。TLS 1.3 默認啓用,不論應用針對哪一個等級的 API 開發,都需經過 Android TLS 堆棧創建全部 TLS 鏈接。更多細節,請參考官方文檔。
Project Mainline 計劃
咱們在今天宣佈啓動 Project Mainline ,目的在於保障 Android 用戶的安全,並確保用戶設備可以直接從 Google Play 獲取最新的重要代碼更新。在 Project Mainline 的幫助下,如今咱們再也不須要設備廠商提供全套的系統更新,而是直接在操做系統內部更新特定的內部組件。這意味着,咱們可以長期爲設備上提供更新的 OS 代碼,提升一致性,同時以更快的速度向用戶推送 AOSP (Android 開源項目) 中的代碼。
咱們計劃採用與應用交付更新一樣的方式來更新 Project Mainline 的模塊——在後臺從 Google Play 下載最新版本,待設備下次開機時再完成加載。您可前往 Android 開源項目獲取模塊的源代碼,並且在每次更新發布以後,咱們也會將相應代碼開源。另外,鑑於 Project Mainline 的開源性,所以,模塊中會包含由 Google 合做夥伴和開發者社區貢獻的改進與修復代碼。
Project Mainline 爲用戶帶去了許多裨益,由於設備能夠一直運行最新版本的模塊,其中包含安全、隱私和一致性方面的最新更新。這同時也爲設備廠商、運營商和企業創造了巨大價值,他們再也不須要升級整個系統,便能完成 OS 關鍵部分的性能優化與安全提高。
咱們指望 Project Mainline 能夠幫助應用和遊戲開發者在全部設備上部署關鍵領域的平臺實現,並逐漸提升平臺一致性,從而下降開發與測試成本並保障應用的正常工做。全部運行 Android Q 或更高版本系統的設備將在不久後收到 Project Mainline 計劃的推送。目前,咱們正在與生態圈夥伴積極合做,確保各大廠商的設備儘早做好萬全準備。
Android 正處在創新的風口浪尖,在與生態圈合做夥伴的共同努力下,咱們融合硬件和軟件的前沿技術,力圖帶給用戶史無前例的數字新體驗。
摺疊屏設備
世界各大頂級廠商在今年發佈了多款摺疊屏設備,這不只爲 Android 生態圈注入了源源活力,還標誌着屏幕技術的又一飛躍。這些設備在摺疊時至關於一部手機,而展開時又可看成精美的平板使用。
咱們對 Android Q 進行了多項優化,確保摺疊和展開操做發生時屏幕的無縫連續性,同時,應用與遊戲的當前頁面也可延續至另外一個屏幕。在多任務處理方面,咱們改進了 onResume 和 onPause 的工做模式,以便爲 multi-resume 提供更好的支持,另外咱們還添加了當應用得到焦點後的通知功能。爲了幫助您管理應用在摺疊屏及大屏上的顯示,咱們還更新了 resizeableActivity 屬性的工做方式。
咱們的合做夥伴已經推出了很多創新力十足的摺疊設備,從此將會有更多設備陸續面世,敬請期待!您可經過 Android 3.5 Canary 版本配置一個摺疊屏模擬器,如今就開始開發和測試您的應用。
5G 網絡
做爲無線技術的新一輪革命,5G 技術意味着更快的速度與更低的延遲,賦能開發者解鎖新的應用體驗,或者升級現有功能。
Android Q 爲 5G 增添了平臺支持並擴展了現有 API,幫助您順利完成應用的 5G 轉型。您可以使用網絡鏈接 API (Connectivity API) 來檢測設備是否具有高寬帶鏈接以及它是否屬於計費鏈接。這樣一來,您的應用和遊戲即可爲用戶定製豐富、沉浸度高的 5G 體驗。
得益於 Android 開放的生態文化以及合做夥伴的鼎力相助,咱們預計 5G 技術會很快迎來大規模商用時代。今年已有超過 12 家 Android 廠商發佈了 5G 設備;全球也有超過 20 家運營商即將落地 5G 網絡,其中部分運營商已實現大規模 5G 組網。
Live Caption
除硬件創新以外,咱們還會繼續利用 Android AI 技術推進軟件革新,爲更多用戶打造更智能、更便捷的 OS 操做系統。其中,實時字幕 (Live Caption) 就是一個很好的例子,它是 Android Q 引入的一項新特性,當用戶在手機上播放視頻時,它便能爲手機視頻自動添加字幕。
許多人會選擇收看帶字幕的視頻,由於這樣一來,即便在路上或者擁擠的場所,他們依舊能夠跟上視頻播放的內容。可是,對於全世界 4 億 6 千 6 百萬聽障人士而言,字幕不只意味着簡便,這賦予了他們觸及內容的機會,而 Live Caption 正是 Google 與聽障羣體協同合做的成果。
Live Caption 功能能夠爲手機上任何應用內的多媒體文件添加實時字幕,支持的文件類型包括視頻、播客、語音信息和用戶自錄音頻。並且,得益於咱們在今年上半年在語音識別方面的突破性進展,該功能在無網絡鏈接的條件下也可以使用,全部工做都在設備端完成。實時語音模塊在手機上離線運行,全部音頻信息也不會泄露出設備。
對於開發者來講,因爲 Live Caption 功能讓數字媒體真正 "觸" 指可及,所以它能爲您的應用和遊戲帶來更多用戶。Live Caption 功能將在今年下半年正式與你們見面。
通知內建議操做
咱們在 Android Pie 中就已引入智能回覆功能,讓用戶能夠直接經過通知與應用發生互動。不過,儘管咱們提供了用於附加回復和操做的 API,可是具體的構建代碼仍舊須要由開發者自行編寫。
在 Android Q 中, 咱們能夠但願在不增長開發者工做量的前提下,在全部應用內實現智能回覆支持。從 Beta 3 開始,咱們啓用了由系統提供的智能回覆和建議操做,在默認設置下,這些回覆與操做會直接顯示在通知內。
固然,開發者也能夠爲本身的應用設計專屬的回覆與操做,好比說經過 ML Kit 或者其它機器學習框架。若是您不想在通知內使用系統提供的回覆和操做,只需調用 setAllowGeneratedReplies() 和setAllowSystemGeneratedContextualActions() 便可。
因爲建議操做是基於 TextClassifier 服務開發的,所以它能夠利用 Android Q 新引入的一些功能,如語言識別。您可直接經過 TextClassifier API 來生成由系統提供的通知與操做,必要時,也可與自行設計的回覆和操做混合使用。
全局夜間模式
很多用戶更喜歡使用具有夜間模式的應用。當光線變暗時,他們可轉用夜間模式,這既有助於減緩眼部疲勞又能省電。與此同時,用戶也但願 Android 能夠提供一種更爲簡便的方式,讓他們能在各類設備上啓用夜間模式。夜間主題上榜熱門請求已經有一段時間了,而 Android Q 終於把它帶向了用戶。
從 Android Q Beta 3 開始,用戶可經過如下三種途徑激活新的全局夜間模式:
(1) 點擊設置,進入顯示
(2) 新的快捷設置
(3) 啓動省電模式。在夜間模式下,系統界面會變暗,而提供支持的應用也會同時啓用夜間模式。您可選擇爲應用開發專屬的夜間主題,或開啓 "強制變暗" (Force Dark) 功能,讓操做系統爲現有主題從新建立一個夜間版本。您只需在應用的當前主題內設置 android:forceDarkAllowed="true" 便可。
手勢導航
許多最新款的 Android 設備都配有精美的無框屏幕,而用戶也想要盡情享用大屏帶來的極致體驗。在 Android Q 中,咱們引入了一款全新的手勢導航模式。在該模式下,導航欄區域會處於隱身狀態,應用和遊戲的內容能夠真正作到全屏顯示。系統依舊保留了你們所熟悉的返回上一級、主界面和最近使用這三個功能,不過用戶須要滑動屏幕,而非點擊按鈕,來進行操做。
用戶需依次點擊設置 > 系統 > 手勢,來啓用或關閉手勢導航。目前系統支持的手勢操做有如下兩種: 從下向上滑動可返回主界面;從左或右邊緣向內滑,則可觸發返回上一級操做。
數字健康是 Android 研發工做的第三個主題。咱們想要爲用戶提供合適的工具,讓他們能夠直觀地瞭解設備的使用狀況,以更健康的方式使用數字產品。所以,咱們在去年提出了數字健康這個概念,並將其整合至多個使用場景: 儀表盤 (Dashboard)、應用定時器 (App Timer)、勿擾模式 (Flip to Shush) 和放鬆模式 (Wind Down)。在這些工具的協助下,用戶創建了一種更爲健康的數字生活,其中,應用定時器讓用戶在 90% 以上的時間內集中注意力,專心完成既定目標,而放鬆模式則減小了 27% 的夜間使用時間。
今年,爲了更好地幫助用戶在數字生活中取得平衡,咱們又添加了兩款新工具——專一模式 (Focus Mode) 與 Family Link。
專一模式
若是您想在工做與學習時保持高度專心,集中精力完成某個任務,那麼,專一模式即是您的不二之選。啓用該模式後,您能夠勾選可能會讓您分心的應用,並屏蔽來自它們的推送,好比說,暫停使用郵件和新聞,但保持地圖及短信應用處於活躍狀態。當您想要集中注意力時,您可直接點擊快捷設置內的專一模式。啓用後,選定應用便會一直處於靜音狀態,直到設備退出專一模式。專一模式將在今秋登錄 Android 9 和 Android Q 設備。
Family Link
Family Link 是咱們面向家長新推出的一套控制工具。從 Andrdoi Q 開始,Family Link 會做爲系統功能出如今設置界面裏。當您爲小朋友設置新設備時,Family Link 會將設備鏈接至您的 Google 帳號。接着,您即可爲孩子的設備設定每日使用時限,瞭解他們的應用使用狀況,或查看他們想安裝的新應用,您甚至能夠設置就寢時間,在該睡覺的時候斷開設備鏈接。此外,Android Q 還容許您單獨限制某幾個應用的使用時間,或者適當延長設備的使用時間做爲獎勵,讓孩子晚 15 分鐘睡覺。咱們將在今年秋天爲 Android P 和 Android Q 設備添加 Family Link 功能。點擊查看還有哪些出色的健康應用榮獲了 "Google Play 2019 擁抱美好生活傑出應用" 大獎。
咱們一直在增長核心功能的數量,努力塑造出更爲強勁的 Android 基礎,從而助力各位開發者爲用戶帶去新體驗,如下爲咱們目前在這個方面取得的一些成果與進展。
P2P及網絡鏈接優化
在 Android Q 中,咱們對 Wi-Fi 技術棧進行了重構,這不只提高了應用在隱私及性能方面的表現,並且對許多常見用例也有必定的優化做用,如 IoT 設備管理以及建議網絡鏈接等——並且無需應用請求位置權限。網絡鏈接 API (Network Connection API) 讓您可以更輕鬆地經過本地 WiFi 管理 IoT 設備,並使用配置、下載和打印等 P2P 功能。應用可經過網絡建議 API (Network Suggestion API) 向用戶顯示偏好的 Wi-Fi 網絡,併發起網絡鏈接。
Wi-Fi 性能模式
在 Android Q 中,應用可啓用高性能、低延遲的自適應 Wi-Fi 模式,在網絡延遲比較敏感的場景下,如實時遊戲、主動呼叫等,確保流暢的用戶體驗。一旦啓用,Android 平臺將與設備固件協同工做,實現最低能耗。如需啓用新的性能模式,請調用 WifiManager.WifiLock.createWifiLock()。
徹底支持高精度 Wi-Fi RTT 室內定位
Android 9 Pie 引入了 RTT API ,方便應用進行室內定位。該 API 可幫助應用計算 Wi-Fi 封包之間的往返時間,接而獲取與附近 Wi-Fi 接入點 (AP) 的距離。接入點需支持 IEEE 802.11mc 協議。咱們在 Android Q 中完善了對 IEEE 802. 11mc 標準的實現,新增長的 ResponderLocation API 可獲取各個接入點的位置信息,它們由其全部者在安裝時進行配置。
音頻回放捕捉
咱們在上文已經介紹過了 Live Caption 這個特性,有了它的幫助,任何應用中的音頻文件均可被轉化成文本,而後當即以字幕形式呈如今屏幕上。Live Caption 無縫體驗爲跨應用音頻流分享提供了強勁的推進力。在 Android Q 中,全部支持音頻播放的應用都可經過 AudioPlaybackCaptureConfiguration API 容許另外一個應用捕捉它的音頻流。除添加字幕之外,該 API 還可以讓您支持遊戲直播等其它熱門用例,並且徹底不會對原應用或遊戲形成延遲。
咱們在設計這個新功能的時候也考慮了隱私和版權問題,所以應用間捕捉音頻的能力是有限制的,開發者能夠自行控制是否容許其它應用捕捉完整版音頻文件。更多技術細節,請閱讀官方文檔。
圖片動態深度
從 Android Q 開始,應用可在支持設備上請求生成動態深度圖片,文件內包含與深度元素相關的 JEPG 與 XMP 元數據,並內嵌一組深度圖與置信圖。"JPEG + 動態深度" 圖片能夠幫您在應用中實現模糊或散景效果。您甚至能夠利用這些數據生成 3D 圖片或爲 AR 攝像用例提供支持。動態深度是一款供全部生態圈夥伴使用的開放格式——您能夠了解最新的格式規格。目前,咱們正在與各大設備廠商展開密切合做,但願儘早普及 Android Q (以及將來版本系統) 設備對該圖片格式的採用率。
Android Q 現已支持開源視頻解碼器 AV1,媒體供應商只需更少的帶寬就能將高質量視頻內容傳輸至 Android 設備上。此外,Android Q 還添加了對 Opus 音頻格式的支持。Opus 編碼器能自動識別輸入信號是語音仍是音樂,而後據此選擇優化的編碼模式。此外,用戶也可在支持 HDR 10+ 的 Android Q 設備上,播放高動態範圍視頻。MediaCodecInfo API 爲開發者斷定 Android 設備的視頻渲染能力提供了一種更爲簡便的方法。全部編碼器都配有所支持文件體積和幀率的相關信息。
Vulkan 1.1 和 ANGLE
咱們將繼續擴展 Vulkan 在 Android 平臺上的應用範圍,努力將其打形成一低成本、跨平臺的高性能 3D 圖形 API。目前,咱們正在與多家設備廠商合做,但願將 Vulkan 1.1 做爲運行 Android Q 或更高版本系統的設備要求:對64 位設備爲硬性要求,而對 32 位設備則爲推薦配置。爲了給使用 OpenGL 的遊戲和圖形開發者提供更強大的技術支持,咱們正在爲基於 Vulkan 的設備開發一款標準的、可更新的 OpenGL 引擎。此外,Android Q 還在在 Vulkan 基礎上爲 Android 設備添加了ANGLE 實驗性支持。更多信息,請參閱 Android官方文檔。
神經網絡 API 1.2
咱們在神經網絡 API 1.2 中新增了 60 個算子,包括 ARGMAX、ARGMIN、量化 LSTM,以及大量性能優化,爲普遍的模型加速奠基了堅實的基礎,如目標檢測模型和圖像分割模型。咱們如今正在和硬件合做夥伴以及主流機器學習框架提供商 (如 TenserFlow) 展開積極合做,共同推動神經網絡 API 1.2 優化及支持工做。
熱感 API
當設備過熱時,CPU 和 GPU 便沒法正常工做,這會對應用和遊戲的運行形成嚴重影響。從 Android Q 開始,應用和遊戲可經過熱感 API (Thermal API) 監測設備的溫度變化,並採起對應措施讓設備降回正常溫度。好比說,流媒體應用可下降分辨率/或比特率或網絡流量,相機應用能夠禁用閃光或圖像加強,遊戲則可選擇下降幀率或減小曲面細分中的多邊形數量。更多信息,請閱讀官方文檔。
ART 運行時優化
Android Q 大幅改進了 ART 運行時。開發者無需進行任何操做,即可有效縮短應用的啓動時間,減小內存消耗,並提升應用的運行流暢度。爲了加快應用的初始啓動速度,Google Play 如今除了 APK 文件以外,還會提供基於雲的配置文件。這是一套已通過匿名化處理的彙總 ART 配置文件,容許 ART 在應用開始運行以前就預編譯一部分代碼。基於雲的編譯文件適用於全部應用,並且運行 Android P 或更高版本系統的設備目前已提供相關支持。
在 2017 年 Android Oreo 發佈之際,咱們同時也推出了 Project Treble 計劃,目的是加快 OS 操做系統的更新步伐。Project Treble 計劃提供了一套穩定且可測試的接口,用於鏈接 Android 操做系統及由設備廠商和芯片廠商編寫的底層代碼,大大提升了新版本系統移植的簡便性和模塊化程度。
咱們在 2018 年與合做夥伴展開緊密合做,首次在 Treble 設備上實現 OS 系統更新,並取得了喜人的成果: 在去年的 Google I/O 大會上,除了 Google 出品的 Pixel 和 Pixel 設備以外,另有來自 7 家合做廠商的 8 款機型加入了 Android P Beta 項目。時至今日,咱們看到 Android Pie 更新速率大幅加快,與去年同時間的 Android Oreo 發佈相比,支持設備的數量上漲至 2.5 倍。
待到今年推出 Andoid Q 之時,Project Treble 計劃的勢頭愈發強勁,除了 Pixel 全線機型以外,共有來自 12 家全球頂級設備廠商的 15 款機型支持推送 Android Q Beta 3。咱們同時提供了 Q Beta 3 GSI 通用系統映像。它們均提供相同的行爲、API 和特性,讓您能夠在超多款設備上測試應用,經過多種途徑嚐鮮試用 Android Q。
當您準備就緒後,請進一步探索 Android Q, 瞭解可在應用中使用的諸多新特性及 API。請閱讀 API 差別報告瞭解 Beta 3 中引入的變動,或閱讀 Android Q Beta API 參考文檔,獲取詳細技術細節。此外,咱們也在 Android Q Beta 開發者官網爲您準備了更多資源,如版本說明和報錯指南。
若是您想爲 Android Q 開發應用,只需將 Android Q Beta SDK 和工具下載到 Android Studio 3.3 或更高版本,並按照步驟配置開發環境。 若是須要 Android Q 行爲變動的最新修復,建議您使用 Android Studio 3.5 (或更高版本)。
獲取步驟很簡單! Pixel 用戶請加入 Beta 測試計劃並獲取更新。若是您已加入,無需任何行動,設備將很快收到更新推送。此外,系統鏡像文件也已開放下載。
Android Q Beta 測試計劃中的其它設備也會收到 Beta 3 更新推送,這些設備一樣也由 Google 的頂級設備合做商提供。請訪問 android.com/beta 查看所有的支持機型和 Pixel 設備,每款設備都提供了詳細的配置參數和官網連接,您可前往對應網站進行下載、獲取支持或反饋問題。
爲了能在支持測試設備上進行更多測試,您可下載 Android GSI 通用系統映像。若是暫時沒有能夠運行 Android Q 的設備,您也可使用模擬器進行測試,請經過 Android Studio 中的 SDK Manager 下載最新版本的模擬器系統映像。
您的反饋意見對咱們很是重要,歡迎您在下方評論區留言或點擊這裏 提交產品反饋建議,分享您的使用感覺、想法與建議。咱們已經收到了許多寶貴的反饋,目前,咱們正在緊鑼密鼓地進行 Beta 4 的開發工做,但願能夠盡多地整合你們的意見與建議。
期待您的應用在 Android Q 上的精彩表現!
點擊這裏提交產品反饋建議