Blocker 兩年用戶回顧——組件管控這件事,我是怎麼走到今天的
從最早裝上 Blocker 只敢關幾個活動頁,到現在能精準定位 SDK 規則、批量備份組件狀態,這款工具陪我跨過了好幾個安卓版本。長期體驗的變化、踩過的坑、還有那些每天離不開的小功能,一次講清楚。
Blocker 是什麼——一款專門拆應用「零件」的系統工具
第一次接觸 Blocker 是在兩年多前,那時候手上的安卓手機已經跑了好幾年,裡面裝了二十多個常用應用,廣告推送卻越來越頻繁。起初以為是應用本身的問題,卸了裝、裝了卸,折騰半個月,廣告該來還是來。後來在論壇看到有人貼 Blocker 的截圖——一個列表,每個應用下面列著幾十個組件,哪個是廣告活動頁、哪個是推送服務,清清楚楚,點一下就能關掉。
這款工具的核心思路很簡單:Android 應用本質上是由一堆組件拼起來的,activity 是介面頁、service 是後台服務、receiver 是廣播接收器、provider 是資料供應器。大部分廣告、推送、追蹤,都是靠這些組件在後台偷偷跑。Blocker 把這些藏在 APK 裡的組件全挖出來,讓你能像拆積木一樣,把不需要的零件一個個拔掉。
它不只列清單——內建了一套 SDK 規則庫,搜一下「穿山甲」或「優量匯」就能直接命中相關廣告 SDK 的組件,不用自己一行行翻包名。想深入瞭解這套規則庫的運作,可以看一下 blocker下載 文檔。關掉的時候還會彈出副作用提示,比如「關掉後推送收不到」或「支付功能可能不可用」,讓你心裡有數。對於已經折騰厭了卸載重裝的老用戶來說,這種能在系統層面上解決問題的工具,簡直是及時雨。
安裝
Blocker 的安裝包只有 6.63MB,在目前的系統工具裡算是很輕量的存在。最新版本 2.0.4044 支援 Android 7.0 以上的系統,直接下載 APK 點安裝就能跑——這一點倒是沒什麼特別的,真正的門檻在安裝之後的權限授權。
首次打開 Blocker,它會引導你選擇控制器模式。目前主流的兩條路徑:一條是直接利用系統的 PackageManager 服務(PM),需要 root 權限;另一條是透過 Shizuku 間接拿到 shell 權限。對於已經 Magisk 或 KernelSU 刷好的設備,PM 路徑是最省心的選擇,授權一次就能用到底,不用管重啟之後的服務重連問題。

沒有 root 的設備也不是完全沒辦法——Shizuku 支援 Android 11+ 的無線調試配對,全程在手機上就能完成,不用接電腦,具體配對細節可以參考 blocker文檔。不過我當初試過,shell 權限對普通應用的組件狀態操作其實報 SecurityException,最後還是乖乖回去 root 了。這個坑得提前說——Shizuku 搭配 shell 權限可以配對成功,但改不了普通應用的組件,最終還是要以 root 身份啟動 Shizuku 服務才有用。
安裝完成後記得去設定頁檢查一下 SDK 規則庫的更新——規則是社區維護的,新 SDK 或包名變化會實時同步,錯過更新的話新裝應用裡的廣告組件可能找不到對應規則。至於首次啟動時彈出的歡迎引導,跳過也沒關係,後台那套副作用提示機制本身已經足夠防呆。
從不敢關到敢批量關——兩年來用 Blocker 的三個變化
第一個變化:哪點越用越順手
剛裝上 Blocker 那會兒,我只敢關 activity 組件——畢竟直觀,看到廣告落地頁的 activity 名字就點掉,應用裡再也彈不出那個煩人的廣告頁了。但那時候對 service 和 receiver 還是心存恐懼,怕關了之後應用直接掛掉。
真正讓我放下戒心的是 SDK 規則庫。有一次搜「快手廣告聯盟」,結果一下子列出七八個應用命中,每個應用下面的 activity、service、receiver 全都帶了標籤。我順手對其中一個 App 把所有被標記為「快手廣告 SDK」的組件全部關掉——應用照常開,廣告消失了,什麼問題都沒有。
從那之後我開始敢大膽操作。規則庫會自動標註哪些組件是哪個 SDK 的,這些標註邏輯在 blocker官網 裡有更詳細的說明,甚至附帶副作用提示。現在每次安裝新應用,我先開 Blocker 掃一遍規則命中,把廣告和推送相關的組件一次性關掉,再回應用裡體驗。以前卸裝重裝折騰半小時的事,現在三分鐘搞定。
第二個變化:哪點越用越煩
說到越用越煩的,首當其衝是 Shizuku 的重啟問題。我雖然最終選了 PM 路徑,但期間切換過一段 Shizuku。每次手機重啟,Shizuku 服務必須手動去應用裡點一下啟動——系統不會自動拉起來,這是 Android 對殭屍進程的防護,沒辦法繞。那段時間我養成了每天開機先點 Shizuku 再點 Blocker 的習慣,後來實在嫌麻煩又切回 PM 了。
第二個煩點是規則的維護成本。應用更新之後,新的 SDK 組件可能冒出來,舊的組件可能換名字。如果你之前是手動一個個關的,應用一更新,之前關掉的那些可能全都復活了。這時候要再去 Blocker 裡重新掃一遍規則命中,把新冒出來的組件補關上。社區維護的規則庫更新不算慢,但也不是即時同步——有時候裝了新版應用,規則庫還沒跟上,就得自己憑經驗判斷。

第三個變化:哪個功能每天離不開,哪個碰都沒再碰
如果說有什麼功能是離不開的,那肯定是規則匯出。去年換手機的時候,我把舊手機上調好的二十多個應用的組件規則全部匯出成 JSON 文件,一個應用一個文件,打包傳到雲盤。新手機 root 完裝好 Blocker,再把這些文件導入進去——半小時就把舊手機上花了好幾天調好的配置完整復製過來了。
匯出的格式很透明,就是標準 JSON,裡面有包名、控制器類型、每個組件的啟用狀態,帶時間戳。平時改了大規則之後我也會匯出一份備份,改壞了能導入恢復。這功能看起來不起眼,但真到換機或改壞的時候,簡直是救命稻草。
至於碰都沒再碰的,是那個批量操作入口——規則庫裡有些 SDK 提供了「一鍵禁用所有命中應用對應組件」的按鈕。我第一次看到的時候手癢點了一下,結果好幾個應用的推送直接掛掉了,有些甚至連啟動都報錯。後來老老实实改回一個應用一個應用地調,再也沒碰過那個批量按鈕。
長期用下來,當初的判斷變了什麼
剛開始裝 Blocker 的時候,我把它當成一個「廣告剋星」——目標很明確,就是把應用裡的廣告落地頁和推送服務關掉就行。用了兩年之後發現,它其實遠不止這個用途。
最大的認知偏差是對「組件層」本身的理解。剛開始以為 activity 就是頁面、service 就是後台,把它們當成兩種不同東西對待。後來才慢慢意識到,應用的每個組件都是一套獨立的生命週期,Bloker 做的事情本質上是把一個應用從「黑盒」拆成了「零件」,讓你能夠精確控制哪些零件繼續運轉、哪些永久停工。
另一個偏差是對風險的預估。剛開始關組件的時候總怕關錯了應用就廢了,每次只敢關一個,關完立即回應用驗證。後來發現,大部分非核心組件(特別是第三方 SDK 帶進來的)關掉之後應用照常跑——真正不能動的只有 MainActivity、SplashActivity 這些入口組件,名字一眼就能認出來。那個副作用提示雖然大部分時候顯示「無明顯副作用」,但它的存在本身就是一份安心。
去留結論:會不會卸載,什麼情況下該換
說實話,這兩年我換過好幾款類似的工具——有些功能更強大,有些界面更漂亮,有些支援更多控制器模式。但 Blocker 一直留在手機裡,主要原因是它的輕量和穩定。6MB 左右的安裝包,跑起來基本不吃資源,規則庫的更新頻率也足夠應對日常使用。而且社區維護的規則庫是真正的核心價值——換到其他工具之後,沒有哪家能做到這麼全的 SDK 覆蓋和及時的副作用標註。
什麼情況下會換?說直白一點,如果有一天規則庫停更了,或者安卓版本升級之後 Blocker 不再支援,那可能就得考慮其他選項。但就目前來看,社區維護的狀態很活躍,版本更新也沒斷過。再說,匯出來的那一堆 JSON 規則文件現在已經成了我的配置資產——就算真換了,也是先導出備份、再慢慢遷移,不會說走就走。
回頭看這兩年,從一個連 activity 是什麼都不知道的新手,到現在裝完新應用三分鐘就能關完廣告組件,Bloker 算是陪我走完了整個安卓折騰的路。工具好不好用,最終還是得看它能不能一直在那裡、一直在進步。這一點,目前 Bloker 做到了。
本文为个人基于网络公开资料整理编写,非官方内容,仅供学习交流参考;软件版权归原作者所有,请支持正版;使用过程中遇到问题请查阅官方渠道,本文不承担任何责任。


