終結許可權流氓,這兩款應用讓你提前擁有 Android Q 的許可權管理體驗
趕在每年 3 月首個開發者預覽版之前,國外開發者社群 XDA 成功在一臺 Pixel 3 上偷跑了 Android Q 的早期預覽版本。這個版本基於尚未公佈的 AOSP 原始碼,雖然缺少必要的 GMS 元件,實際體驗和預計將在下月放出的開發者預覽版肯定也會有不小的差別,但通過對這個早期偷跑版本的挖掘,XDA 還是公佈了不少令人激動的新特性。
全域性暗色模式、內建主題引擎、人臉資訊生物識別介面……這些讓人眼饞的更新中,許可權管理尤其值得一提。
Android Q 的許可權管理改進
從 XDA 的上手視訊來看,Android Q 對許可權管理的改動幅度不亞於此前版本對通知系統的改進。具體而言,Android Q 對許可權管理互動、許可權管理方式和許可權管理機制都進行了優化。
互動方面,Android Q 將應用許可權管理放在了新增的 隱私
設定項之下,這個設定項和 Android 9 加入的 數字健康
一樣,入口都位於系統設定下的一級介面,可以輕鬆找到;具體到單個許可權的管理,Android Q 也將原本的「應用列表+勾選選單」改成了按照「允許/拒絕」進行分類的呈現形式,看上去更加直觀;點選許可權列表中的應用,Android Q 還會在接下來的詳情介面中為開發者預留一個用於解釋許可權申請原因的文字位置。

許可權管理方式目前看來則是 Android Q 最有亮點的更新之一。
在 Android Q 中,特定許可權申請除了允許和拒絕以外,還像 iOS 那樣加入了「僅使用時允許」這一選項,不僅能夠避免後臺應用利用許可權許可獲取不必要的隱私資訊,還能在某種程度上減少後臺資源消耗,提升手機的續航表現。另外在 XDA 的上手視訊中我們還可以看到,許可權使用狀態在 Android Q 中也將作為狀態列的一部分展示在首次下拉通知欄後電池圖示的左側,無論是排查還是管理都直觀且方便了不少:

當然,Android Q 在許可權管理機制上的改變也值得一提。XDA 在對偷跑版 Android Q 的拆包分析中發現,Android Q 的許可權管理還將迎來兩項重要變化:
- 禁止後臺讀取系統剪貼簿
- 引入新的儲存空間讀寫許可權
這兩項變化對國內安卓生態而言可以說有著相當大的約束力。

在當前主流版本的 Android 作業系統中,Google 並沒有針對剪貼簿開放可供使用者決定的執行時許可權申請,這也就導致幾乎所有應用都可以在後臺默默收集甚至編輯 Android 系統剪貼簿中所儲存的內容(「複製這條 X 口令到 X 寶客戶端」就是這麼來的);另一方面,一旦一款應用被授予儲存空間讀寫許可權,它也就同時被授予了訪問儲存空間中所有檔案內容的許可,明文向其他應用分享隱私資訊、隨意建立垃圾檔案等等問題也隨之產生。
像 Android Q 那樣搞定國內應用的許可權管理問題
1 月 25 日,騰訊社會研究中心與 DCCI 網際網路資料中心聯合釋出的《2018年度網路隱私及網路欺詐行為研究分析報告》指出,幾乎所有的安卓端手機 App 都會獲取手機隱私許可權,其中九成左右 App 試圖獲取讀寫儲存裝置及獲取應用列表許可權,過半 App 申請讀取聯絡人許可權。
雖然報告同樣還給出了許可權申請「越界」行為有所好轉的判斷,但它顯然沒有強調,很多安卓使用者還得面對 不給許可權不給用、後臺悄悄讀取剪貼簿 這類許可權霸凌現象。

這是為什麼我認為許可權管理或將成為 Android Q 的一大亮點更新的原因所在: 支援臨時授權、提供更為直觀的管理和排查手段同時進一步完善敏感許可權的授予機制 ……這些許可權管理思路即便在原生 Android 已經有些「水土不服」的國內生態下,依然也有非常重要的借鑑意義。
在 Android Q 到來之前,我們有什麼辦法可以貫徹上述許可權管理思路呢?
首先要推薦的是我們的老朋友 App Ops。作為一款 能夠免 root 進行許可權管理 的系統工具替代品,少數派曾多次推薦大家使用這款「神器」,而結合個人使用經驗,我認為 App Ops 的核心亮點有二:
首先,作為 Android 內建許可權管理機制 App Ops 的增強版本,它可以將應用可能會用到的所有許可權原原本本地呈現在我們眼前,比如針對上面提到的、Android 系統並不提供執行時許可權彈窗的剪貼簿,我們就可以藉助 App Ops 來輕鬆進行管理。

其次,App Ops 獨特的獨立於 Android 作業系統執行時許可權彈窗的許可權授予機制,給了我們一個對付「許可權流氓」的機會。只要我們通過 App Ops 拒絕了某應用的某項許可權請求,即便我們在應用彈窗提醒要求授予許可權時選擇「允許」,這款應用能夠獲取到的許可權資訊也是無效的。這也就解決了「不給許可權不給用」的問題。

App Ops 還有很多實用功能,比如方便的許可權管理模板、應用許可權行為檢測等等,關於它的更多介紹,你可以閱讀我們之前的推薦。
使用 App Ops 進行許可權管理在 Android 玩機圈是老生常談的技巧了,Android Q 在臨時授權(僅應用執行時授權)問題上的改進方法在 Android 平臺上其實也不算新鮮——天氣時間線、Flamingo 的開發者 Sam Ruston 就推出過一款與這種許可權管理思路有著異曲同工之妙的工具應用 Bouncer。

Bouncer 是一款非常討巧的應用。它無需 root,更無需 ADB 指令開啟,藉助 Android 系統自帶的無障礙功能,Bouncer 會在應用請求許可權的同時通過通知詢問我們是否保留授權許可,若選擇移除,我們在退出這款應用的同時,剛剛授予的許可權都會被 Bouncer 自動撤銷掉。

除了退出應用時移除許可權許可,我們甚至還可以藉助 Bouncer 的 Schedule 功能設定有時限的許可權授予,自定義程度甚至比 Android Q 的許可權管理機制還要高。在 Android Q 到來之前,App Ops + Bouncer 也許就是我們管好應用許可權的最佳搭配了。
你可以在 Play 應用商店和酷安下載 App Ops,Bouncer 需要付費購買,售價 0.99 美元。
關聯閱讀:
> 下載少數派客戶端、關注 少數派公眾號,掌握使用 Android 裝置正確姿勢 :iphone:
> 特惠、好用的硬體產品,盡在少數派 Pi Store 商店