Android 17 在 Beta 測試階段就給人一種「無從下手」的感覺:或許是因為 Google 現在每年都會給每個大版本推送兩次更新,而每次正式版之前的測試周期被壓縮到只有 2-3 個月,即便讓 Gemini 來寫代碼,應該都不太可能端出太多讓人眼前一亮的新東西。
![]()
Android 17 更新時間線
上周 Beta 4 版本的發布,意味著 Android 17 目前已經進入了 Platform Stability 階段,所以在下半年的測試開啟前我們應該都看不到什么新東西了。
那 Android 17 在過去兩個多月時間里都加了哪些新功能呢?交互這邊我們或許能(在 Pixel 設備上先)看見的:聯系人選擇器、本地網絡權限、分離式語音助理音量、大屏優化、接力 API,看不見的底層那邊則有MessageQueue無鎖化、基于設備總 RAM 的應用內存限制、usesClearTraffic棄用、限制隱式 URI 授予、旋轉后恢復默認輸入法可見性……
這篇文章我們就來展開聊聊,就當是給 Android 17 的首次正式版做個「前瞻」了。
▍碰一碰互傳
Tap to Share 并不是什么已經正式確認的 Android 17 功能,所以我們上面并沒有提到它。
Android Authority 最早在 3 月底的 One UI 9(基于 Android 17)泄漏固件中發現了這個功能,9to5Google 則在后續拿到了 Pixel 設備這邊的功能截圖和交互動畫。
![]()
One UI 和 Pixel OS 中的碰一碰互傳功能
iOS 用戶看到 Tap to Share 的功能示意圖,可能會想起 iOS 17 上線的名片投送(NameDrop)功能,而稍有年紀的 Android 用戶則會第一時間想起 Android Beam——Google 在 2011 年發布的、基于藍牙傳輸協議的跨設備分享方案。Android Beam 借助 NFC 功能和「碰一碰」這個交互,精簡了藍牙傳輸分享這個流程中最為繁瑣的搜索配對流程。
盡管交互方式頗具前瞻性,Android Beam 里子依然是藍牙傳輸,在十多年前的 Android 手機市場,這種設計簡直是把能疊的 buff 都疊滿了。一方面 NFC 在非旗艦 Android 機型上并非標配,另一方面藍牙傳輸的速度基本意味著與大文件分享、傳輸無緣。所以后續的故事也說得通:三星在 Android Beam 的基礎之上開發了基于 Wi-Fi 傳輸協議的 S Beam,Google 則進一步在「親兒子」三星理念的影響下推出了 Nearby Share(現在改名叫 Quick Share)。Android Beam 就像一個技術預覽,在 Android 系統的角落里閑置了八年后,在 Android 10 中被徹底隱藏,并且在 2023 年的 Android 14 正式版中從 Android 代碼中完全移除。
![]()
交互動效
考慮到今年 Quick Share 已經成熟到可以兼容 AirDrop 了,Google 再借 Android Beam 的理念幫它「打包」一個上層交互的想法也算是合情合理,甚至有點 Android Beam 精神傳承的味道 —— 至少在看到動畫效果之前我是這么想的。
▍聯系人選擇器
盡管在國產應用這邊的采用率有限,但 Android 系統近幾年在「照片選擇器」這個功能上的投入還是值得肯定的:從最初作為 Android 13 正式版的新功能上線,到后續作為 Google 服務的組件完成對老機型的向下兼容,照片選擇器作為一項「借鑒 iOS」的隱私設計,在鋪開的過程中算是結合到了 Android 生態機型多、版本碎片率高的客觀現實。
Android 17 的聯系人選擇器或許也會成為類似的功能。Google 在這里借鑒了 Apple 在 2024 年的 iOS 18 中推出的 Contact Access 授權模式,在 Android 17 上為聯系人選擇這一操作準備了一套更為隱私友好的標準化界面,用戶通過這個系統提供的標準化界面來選擇聯系人披露范圍。
![]()
聯系人選擇器的三種選擇模式
作為一個借鑒 iOS 平臺而來的特性,Android 17 的聯系人選擇器也有一些相比 iOS 更加細致的設計:在 iOS 中,聯系人訪問權限的披露粒度是聯系人條目,即我們可以選擇開放給應用的最小信息單元是某個聯系人條目;而 Android 17 這邊雖然看上去功能類似但披露粒度更細,應用需要在 intent 里首先按照具體的聯系人信息字段(比如電話號碼、郵箱、生日)聲明自己要訪問的聯系人信息類別,用戶通過聯系人選擇器選擇聯系人披露范圍后,應用才能拿到這些聯系人信息中的對應字段。
![]()
iOS 中的聯系人選擇器
不過「非強制性」這一點依然是 Android 17 聯系人選擇器功能目前看來最大的未知因素,正如照片選擇器至今依然沒有完全替代媒體文件訪問權限一樣,Android 17 的聯系人選擇器也并非READ_CONTACTS聯系人訪問權限的直接替代。Google 目前只是做了一個系統層面的標準界面,適配了 Android 17 的應用可以選擇采用這套隱私友好的聯系人信息獲取流程,未適配 Android 17 的應用如果原本在用Intent.ACTION_PICK,在新系統中也可以自動獲得新界面 —— 但聯系人訪問權限還在,不想管 Android 平臺原生特性的應用依然可以不管。
考慮到 Google 后續的確有通過拆分媒體訪問權限、降低系統版本要求等手段來推動照片選擇器的適配,這里不妨就留個希望,希望聯系人選擇器同樣也是入口先行,我們應該能很快在下半年的更新中看到 Google 對聯系人讀取權限動刀吧。畢竟聯系人訪問權限也是一個不小的隱私泄露源頭。
▍本地網絡權限
和聯系人選擇器類似,Android 17 同樣也引入了本地網絡權限。
首先必須明確一點:大家在 iOS 系統中看見的、大部分應用發起的本地網絡權限申請,本質上依然是想借助局域網發現能力做局域網設備探測、用戶畫像和用戶指紋識別,最終是要用來給你做個性化廣告追蹤和推薦的。我們的主張和當初文章中的一樣:就大部分應用而言,它們都不需要給本地網絡權限。
![]()
iOS 中的本地網絡權限
關聯閱讀:iOS 14 新增的本地網絡權限,要開給第三方 App 嗎?
Google 在 Android 17 中正式將本地網絡權限納入了NEARBY_DEVICES權限組當中,并且所有面向 Android 17 及以上系統版本開發的新應用,默認情況下都會被屏蔽本地網絡訪問行為,包括 TCP 連接、UDP 單播、多播、廣播等,甚至無法解析 .local 這樣的本地域名。這里 Google 同樣建議有特定需求的開發者選擇更為隱私友好的中轉方案,例如借助 Android 系統級 Cast SDK 中的輸出切換器來完成投屏,而如果是智能家居控制、IoT 管理這類需要持續、廣泛訪問局域網的需求,再借助本地網絡權限向用戶請求授權。
我們也在這里第一次拋出本文的「數學題」:按照 Google Play 商店對應用目標 SDK 等級的要求,2027 年 8 月 31 日之后,Google Play 商店中的應用都必須請求本地網絡訪問權限。
▍大屏優化
說「大屏優化」其實有點寬泛,但以 Android 17 為目標平臺進行適配的新應用,在 Android 17 上都將變成完全可由用戶隨意「拿捏」的形狀:屏幕方向、尺寸調整和寬高比限制,將不再適用于最小寬度大于 600dp 的顯示屏,應用在大屏上運行時,默認會填滿整個顯示窗口,無論寬高比或用戶的首選屏幕方向如何。
這也給那些寫死應用方向、強迫用戶旋轉內屏使用、用「放大」替代「大屏適配」工作的做法下了整改通知:這里第二次拋出上面那道「數學題」,2027 年 8 月 31 日之后,Google Play 商店中僅適配移動端小屏交互的應用將不復存在。
結合這些年折疊屏設備宛如抽獎般的實際體驗,可以說 2027 年這個時間窗口其實相當溫和,并且說到底 Google 也只是拿掉了一條「捷徑」—— 真有頭鐵的開發者,依然可以不做什么自適應布局,任由應用在大屏設備上縮放、變形,輕則設備使用形態轉換(比如外屏到內屏)時應用重載當前界面丟失,重則應用內相機方向混亂,圖像、文本完全不具備可讀性……
但話說回來,今年如果 Apple 按預期推出折疊屏設備,多多少少能幫到咱 Android 大屏應用適配一把吧(笑)。
▍接力 API
各種形態的設備越來越多,系統級接力 API(Handoff)其實也早該端出來了:跨設備「接力」在 Apple、華為鴻蒙生態中已布局多年,但大量的 Android 廠商依然需要一個平臺層面的支持來打破屏障。
在返回手勢那篇文章中我們提到,Android 應用中大部分看得見、摸得著的交互,都是由活動(activity)來承載的。Android 17 的接力 API 也用到了這一基礎架構,開發者只需要給想要接力的活動窗口打上特定標注,另一設備上的任務欄或啟動器中就會出現接續操作的提示。
![]()
應用信息設置中已經有了「任務連續性」選項
當前視頻播放到了幾分幾秒、文檔滾動到了哪一行、或者是購物車里勾選了哪幾樣商品,都能通過這個數據包傳遞到另一設備上、調用同一應用的對應活動窗口打開,并且 Google 也考慮到了一些比較特殊的使用情況,比如兩端如果都裝了同一 App,接收端可以直接通過 Deep Link 啟動實現快速恢復,如果接收端沒裝 App 系統則會拉起瀏覽器,打開開發者在HandoffActivityData里設好的 URL,實現「無縫降級」;另外還有僅傳遞 URL 鏈接的 URL Handoff,適合跨設備書簽同步、新聞閱讀等場景。
![]()
目前 Pixel 啟動器中的瀏覽器標簽頁恢復功能應該也是類似的實現
對國內用戶來說,接力 API 其實也有一個變數:Google 這套設備間活動流轉的機制顯然是基于 Google 服務和 Google 賬號搭建的,對 Google Play 相關服務的依賴目前也不明朗。考慮到部分搭載了 Google 服務的國產機型在實際體驗方面均有縮水(比如 Quick Share),只能祈禱接力 API 對 Google 服務的依賴低一點、或者國產 Android 廠商能做一些本地化適配吧。
▍其他改動
正如開頭所言,目前 Android 大版本更新的迭代速度加快,越來越多的新特性要么放在下半年,要么就干脆成為 Pixel 設備和三星設備獨占,其他廠商還得再等上個一年半載。看得見、摸得著,讓人眼前一亮的東西越來越少。
除了上述內容,Android 17 值得一提的新特性還有:
實時更新類通知新增了語義著色 API,開發者可以在實時更新通知中用綠、橙、紅、藍四種預置顏色來設置符合使用情境的色彩樣式
![]()
針對助理應用引入了專用的助理音量音頻流,助理聲音通過
USAGE_ASSISTANT播放,音量調節和其他類別的音頻分離并支持單獨控制
![]()
可以單獨控制智能助理的語音音量了
引入了基于設備總 RAM 的應用內存限制,極端內存泄漏等情況下的系統穩定性表現應該會更好,并且影響范圍更可控
音頻框架會對后臺音頻互動強制執行限制,以確保這些更改是由用戶有意發起的(比如媒體播放),其他「非法」音頻請求會以靜默方式失敗,坊間流傳的「音頻播放保活」小妙招可能會失效,各種奇奇怪怪的音樂播放被打斷的情況應該會更少
底層
MessageQueue完成了無鎖化重構,從線程消息請求的底層層面減少了 UI 自動化執行時的摩擦,感興趣的朋友可移步具透 Plus。
以上便是 Android 17 正式版值得關注的主要更新,雖然大多數更新已是板上釘釘,但最終體驗還是得等到 5 月的 Google I/O 大會。我們到時候見!
https://sspai.com/post/108899?utm_source=wechat&utm_medium=social
作者:克萊德
![]()
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.