把手機變純淨:我用 gkd 打通閱讀與通勤的廣告攔截工作流
gkd 是什麼
gkd 是一款跑在 Android 上的廣告跳過輔助器,憑藉系統的無障礙服務在本地運作——不請求網路權限、不上傳任何資料,安裝包不到 6MB,感興趣的可以直接 gkd下載。它的核心能力很專一:辨識應用裡彈出的廣告元素(開屏、橫幅、會員彈窗、更新提示)並自動點擊跳過,省掉每個 App 手動找「關閉」按鈕的重複動作。
說得更直白一點,gkd 是給安卓手機加了一層靜默的「廣告濾鏡」,讓你刷貼吧、看知乎、用 B 站時少被打斷。規則由社區維護的遠端訂閱提供,想定製也可以自己寫 JSON5 本地訂閱。
安裝
gkd 目前提供 Android APK 安裝包(版本 1.10.0-beta.3,約 6MB),下載後點擊即可完成安裝。這款軟體沒有 Google Play 發行,gkd 的官方分享與文檔都在社區頁面,需要在系統設置裡允許對應來源的安裝權限——如果你從社區公開分享頁取得安裝包,這一步就是標準流程。
首次啟動後,gkd 會引導你開啟兩個必要權限:無障礙服務與寫入安全設置(可選的高級授權)。無障礙是引擎運作的基礎,少了它所有規則都不會執行;高級授權則讓 gkd 能自行控制無障礙開關,配合通知欄快捷按鈕一鍵重啟服務,後面談到的「無感保活」就靠它。官方文檔對不同系統(MIUI、MagicOS、原生 Android)的授權路徑有分頁指引,跟著走通常一分鐘內搞定。
安裝完還有一個容易忽略的環節:應用商店的自動更新。因為 gkd 不走 Play,它的更新要靠作者在社區發布新版本 APK。如果你不想錯過更新,可以在手機上留一個社區分享頁的書籤,每兩三週檢查一次——或者用官方推薦的遠端訂閱,規則本身會自動更新,應用本體則不必頻繁折騰。
舊流程:被廣告切斷的通勤節奏
先說說我以前是怎麼被廣告折磨的。每週一到週五通勤時長約四十分鐘,固定會在 B 站看影片回顧、刷知乎熱榜、偶爾打開貼吧追一下劇情——這三個場景加起來,每天至少要面對:
- 每次打開 App 五秒的開屏廣告(B 站最誇張,曾經有 15 秒)
- 知乎推薦流裡每刷三四條就插一張廣告卡
- 貼吧帖子頂部的活動橫幅,關閉按鈕小到要點好幾次
- 不定期彈出的「會員限時特惠」彈窗
以前的應對方式是:每個 App 裝完之後去設置裡找「關閉推薦」或「關閉個性化廣告」——但這招對開屏廣告幾乎無效,而且每個 App 的設置頁都藏得很深,一套下來要半個小時,過兩個月 App 更新之後設置又被重置。我也試過用瀏覽器的廣告攔截插件,但瀏覽器裡無法取得 App 內的原生內容,想在 App 裡正常刷動態就繞不過去。
通勤節奏因此變得很斷:打開 B 站先站著等廣告倒計時,切到知乎又被推薦廣告卡擋住視線,一個場景切換到另一個場景時,至少要做兩次手動關閉動作。算下來,四十分钟通勤裡至少有五到八分钟在跟廣告博弈——而且這部分的體驗是被動打斷的,不像「等載入」那樣可以順手做別的事。
新流程:把 gkd 插進通勤鏈條
現在的流程很簡單:手機解鎖 → gkd 無障礙服務常駐 → 三個常用 App 打開後自動清掉廣告元素 → 我直接看內容。整套流程裡,gkd 就嵌在「應用啟動」和「內容顯示」之間那一層,不佔任何交互節點。
具體怎麼接的,有三個環節:
環節一:訂閱選擇與節流
gkd 本身不附帶任何規則,裝完之後訂閱頁是空白的。我加了兩份社區維護的遠端訂閱——一份主力覆蓋 B 站、知乎、貼吧,一份備用處理銀行和支付類 App 裡的彈窗。這裡有一個容易踩的坑:社區裡大量訂閱互相 fork,內容高度重疊,同時開兩三份同質訂閱等於讓引擎重複匹配同樣的規則,耗電和卡頓都會上升。所以我只保留兩份,而且每份都把分類精簡到自己真正需要的——開屏廣告、會員彈窗、更新提示這三類,其他諸如 App 內二級頁面的活動橫幅我直接關掉,因為那些內容我本來就會略過。

規則組的編排也值得提一下。比如 B 站這份規則裡,我把「開屏廣告」和「影片懸浮廣告」各自關聯到規則組,其中後者在我用平板 B 站客戶端時會誤觸,所以我通過「編輯禁用」把平板對應的 activityId 加進黑名單——規則保留在手機端,平板上則不生效。這個功能在規則組右上角的三個點菜單裡,找起來稍微要點耐心,但一經配置就再也不用管。
環節二:保活——讓服務不被系統凍結
這是整套流程最容易斷鏈的一環。Android 的電池優化會定期清理後台進程,gkd 的無障礙服務一旦被殺死,所有規則就靜默失效了——我曾經連續好幾天發現廣告又出現,最後確認是系統把服務凍結了。
按官方推薦的遞進式方案,我這樣處理:第一步,打開最近任務切換介面,給 gkd 的卡片加鎖——這一步在大多數設備上就夠了。第二步,gkd 應用內開啟「常駐通知」,通知欄頂部會顯示一條運行狀態,同時也把觸發次數統計放在通知裡,偶爾掃一眼就能確認服務還活著。第三步(我因為用的是 MagicOS,官方點名需要這步),系統設置裡把 gkd 的省電策略設為「無限制」,允許後台活動。

做了這三步之後,gkd 的服務穩定性明顯提升——過去一週只掉過一次,而且那次是手機重啟後忘了重新解鎖無障礙權限。如果想再進一步,可以走官方推薦的「高級授權」:授予寫入安全設置權限後,gkd 能自行控制無障礙開關,配合通知欄快捷按鈕一鍵重啟,官方把這個叫作「無感保活」。我目前還沒用到,加鎖 + 常駐通知 + 系統放行的組合在這台設備上已經夠用。
環節三:自動更新與版本監控
遠端訂閱本身會按 version 欄位自動檢查更新,規則變動不需要我手動操作。但應用本體的更新要自己追蹤——gkd 不走 Play,新版本 APK 要從社區分享頁取得。我在手機桌面留了一個書籤小工具,每兩週掃一眼版本號,有更新就下載覆蓋安裝,設定和訂閱都會保留,不會丟失。
效果與邊界
談效果之前先說可數的:通勤四十分钟裡,我現在花在「手動關閉廣告」上的時間從五到八分钟降到了接近零。每個 App 啟動後,gkd 會在無障礙事件裡撿到廣告元素並自動點擊跳過——大多數情況下我甚至沒察覺廣告彈出,內容就已經顯示出來了。知乎推薦流裡的廣告卡會被自動滑過、B 站開屏廣告在倒計時一秒左右就被跳過、貼吧頂部活動橫幅的關閉按鈕再也不用點好幾次。
但這套流程有明確的邊界:
第一,gkd 只處理「App 原生介面裡的廣告元素」。如果廣告走的是 WebView(比如某些 App 裡的嵌入式網頁廣告),gkd 的無障礙選擇器抓不到,這類廣告還是會顯示。這不是設定問題,是技術邊界——WebView 裡的 DOM 節點不會同步到 Android 無障礙樹裡。
第二,耗電與規則數量正相關。官方 FAQ 裡明確說,gkd 本身並不耗電,真正的耗電在於啟用了多少規則、以及當前 App 的無障礙節點數量。像抖音這類應用節點數量多、事件刷新頻率高,gkd 在裡面做匹配的工作量天然大——我把抖音上的規則組精簡到只剩開屏廣告一組,長時間使用時耗電就回落到正常水準。同時開多份內容重疊的訂閱會讓引擎重複匹配同樣的規則,等於幾倍放大耗電,所以訂閱層一定要做節流。
第三,gkd 無法繞過「廣告即核心功能」的應用。有些免費應用的全部收入來源就是廣告,gkd 跳過之後應用會提示「無法連線」或直接閃退——這類 App 建議付費去廣告版,不要硬攔。
什麼情況下這套流程不劃算
如果你的手機本身有系統級廣告攔截(部分廠商的 MIUI、One UI 有內建),或者你主要用瀏覽器看內容(瀏覽器的 uBlock Origin 已經夠強),gkd 的價值就會下降。另外,gkd 僅支援 Android——iPhone 用戶的自動化手段受限,只能靠快捷指令做一些手動輔助,達不到自動跳過的效果。
對我來說,它值不值這三個設置步驟的時間?目前答案是肯定的。通勤時間是我每天最固定的閱讀時段,gkd 把這段時間裡的廣告博弈完全消掉了,剩下的就是專注看內容。而且它從來沒讓我遇到過「規則誤觸正常按鈕」的情況——官方對規則寫法的引導很嚴,加上訂閱作者會測試,出錯的概率不高。
本文為個人基於網路公開資料整理編寫,非官方內容,僅供學習交流參考;軟體版權歸原作者所有,請支持正版;使用過程中遇到問題請查閱官方管道,本文不承擔任何責任。