NoActive 墓碑模組踩坑實錄——看起來簡單其實有好幾個翻車點

系统工具 ·约 10 分钟 ·記筆記的貓:團子

NoActive 是什麼

NoActive 是一款基於 Xposed 框架的 Android 後臺管理模組,俗稱「墓碑模組」——它能讓你對手機裡每一個 App 單獨設置規則:白名單、禁止某個 App 彈出 Intent、後臺繼續播放音樂、常駐通知不被清理等等,最核心的功能是凍結後臺進程,把那些偷跑、喚醒、耗電的 App 直接「暫停」起來。

對重度用戶來說,NoActive 基本上是 Root 之後必裝的模組,體積只有 3.55M,最新版本 3.3-Pro,覆蓋 Android 12 到 Android 17。但說來也有意思——它的安裝和配置門檻並不高,可真正把它跑穩、跑對,背後藏著好幾個讓人抓狂的細節。

安裝

NoActive 不是獨立 App,它是一個 Xposed 模組,所以安裝之前必須先把兩件事搞定:Root 和 LSPosed 框架。Root 方案三選一就行——KernelSU(個人最推,穩定性和相容性都好)、Magisk、APatch,NoActive 本身不挑剔具體哪一個。關鍵在 LSPosed:

  • Android 12 到 16,裝穩定版 LSPosed 就好;
  • Android 17 的朋友注意——穩定版 LSPosed 在這個系統上有已知 Bug,必須用 Telegram 群裡發的內測版,不然 NoActive 裝完就是不生效,你會以為自己 Root 失敗了。

LSPosed 的注入方式也有講究,必須用 Zygisk 模式,不要走老舊的 Riru。KernelSU 和 Magisk 預設都支援 Zygisk,裝完 LSPosed 管理器打開看到綠色「模組已載入」就說明這一步過了。

接下來就是正規操作:從網上拿到 NoActive下載 的 3.3-Pro 版本 APK(3.55M),點安裝,打開 LSPosed 管理器,找到 NoActive 勾上作用域(作用域建議至少勾「系統介面」和你要管的那些 App),然後重開機。開機後 NoActive 圖標出現在桌面,整個安裝流程看起來就結束了——但這裡就是坑的開始。

NoActive 主介面

凍結了又自己解凍——這是最經典的坑

症狀

你在 NoActive 裡把某個 App 設成「切到後臺立刻凍結」,確實切出去那一秒它被凍住了,但過個十分鐘半小時,打開 NoActive 一看,那個 App 又在「正在執行」列表裡好好地跑著,CPU 還在動。你以為是自己設置錯了,反覆改規則,重開機,甚至重刷 ROM——結果第二天起來又複發。

原因

這個坑的根源是你選的凍結方式不對。NoActive 支援四種凍結方式:API、V2、V1、Kill。大部分裝完之後預設是 V2,而 V2 在一些場景下根本跑不起來,模組就會悄悄退化到 Kill 模式。Kill 方式的最大問題是——當系統記憶體壓力升高,Kernel 的 Low Memory Killer(LMK)會判定被 Kill 暫停的進程「可回收」,一鍵全部解凍,你之前做的所有凍結規則瞬間清零。

還有一種情況是 V1 模式。V1(Cgroup Freezer V1)只凍結父進程,App 的 Service 子進程照跑不誤,你以為整個 App 被凍住了,其實後臺還在偷偷耗電。新的 V3.2 版本雖然加了防記憶體洩漏的補丁,但子進程這個問題目前還沒有完全解決。

解法

先查清楚你的內核版本:

  • 5.10 以上內核:優先用 V2(Cgroup Freezer V2)——這是 Google 在 Android 裡採用的官方機制,父子進程全覆蓋、無洩漏、内核級強制暫停。但要注意,MIUI/HyperOS/RealmeUI/ColorOS 這些廠商定制的 4.19 內核,V2 可能被魔改壞了,這種情況 V2 就是不生效。
  • 4.19 + 廠商定制 ROM:切到 V1。雖然子進程問題還在,但至少主進程能凍住,比 Kill 模式的「動不動全解凍」穩得多。
  • 4.19 及以下 + 非廠商定制:實在沒辦法用 Kill 模式,但要有心理準備——記憶體緊張時會被 LMK 解凍。

切換方式:NoActive 設定 → 凍結方式 → 選好之後重開機才會生效,改完別忘了這一步。

激活碼突然失效——一機一碼的綁定細節

症狀

你昨天剛激活的 NoActive,今天打開提示「激活碼已失效」或者「設備不匹配」,以為自己被盜號了,急著去聯繫開發者。

原因

NoActive 採用一機一碼的付費模式,激活時會把當前設備的硬體資訊綁定到激活碼上。刷機、換 ROM、甚至某些系統更新,都可能導致設備識別資訊發生變化。特別是刷入非官方定制包(LineageOS、Pixel Experience 之類),由於底層資訊讀取方式和官方 ROM 不同,幾乎 100% 會觸發設備不匹配。

解法

  • 如果是官方系統包(OTA 更新、同系列官方 ROM 互刷),設備資訊識別通常一致,直接重新輸入激活碼就能激活,不需要額外操作。
  • 如果是非官方定制包,激活時會自動提交人工審核。不用急,審核一般幾個小時就過,通過之後再輸入一次激活碼即可。審核郵件要寫清楚「刷了什麼包、之前用的是什麼包」,審核速度會快很多。
  • 如果是忘記激活碼,通過官方網站的「找回激活碼」功能,輸入購買時填的郵箱就能找回——所以當時那個郵箱一定不要亂填。
  • 換新設備?一機一碼的意思就是不能轉移,只能重新購買。

LSPosed 裝了但 NoActive 模組就是不生效

症狀

你 Root 好了,LSPosed 管理器打開看到綠色「模組已載入」,NoActive 的 APK 也裝了,作用域也勾了,重開機——結果 NoActive 裡顯示「模組未啟動」或完全沒有 Hook 到任何事件,你開始懷疑人生。

原因

最常見的三個原因:

  1. Android 17 + 穩定版 LSPosed:這個組合目前是公開的坑。穩定版 LSPosed 在 Android 17 上有已知相容性問題,必須換 Telegram 群裡的內測版。
  2. 注入方式走了 Riru:LSPosed 必須以 Zygisk 方式注入,Riru 方式在新版本 KernelSU/Magisk 上已經棄用。打開 LSPosed 管理器 → 右上角設定 → 找「注入方式」確認是不是 Zygisk。
  3. 作用域沒勾全:NoActive 至少要勾「系統介面」(com.android.systemui)才能 Hook 到後臺切換事件。如果你只勾了幾個第三方 App,模組本身沒法攔截系統事件,凍結規則自然不會觸發。

解法

按順序排查:先確認系統版本 → 確認 LSPosed 版本(Android 17 換內測版)→ 確認注入方式(Zygisk)→ 打開 NoActive 設定裡的「診斷」功能看它顯示的模組載入狀態。

廠商定制 ROM 下 V2 凍結完全沒用

症狀

內核版本明明顯示 5.10 以上,NoActive 裡選了 V2,作用域也勾了,重開機之後——切到後臺的 App 照樣在跑,NoActive 的執行列表裡它還在那裡。

原因

MIUI、HyperOS、RealmeUI、ColorOS 這些廠商定制 ROM,在 4.19 內核上對 Cgroup Freezer V2 做了大量魔改,導致標準的 V2 介面不通。NoActive 嘗試調用 V2 時,系統返回的是成功但實際上什麼都沒發生——這種「假成功」是最惱人的。

解法

這種情況直接換 V1。雖然 V1 有子進程漏凍的問題,但至少主進程能被真正暫停,比 V2 的「假裝凍結」好用得多。V1 依賴 ReKernel 系列內核模組,裝一下就行,NoActive 會自動通過模組橋接到 V1 介面。

Kill 模式下 SELinux 攔截導致進程殺不掉

症狀

你在 NoActive 裡切到 Kill 模式,還是有個別 App 凍結失敗,執行列表裡它頑強地亮著。檢查診斷功能,發現 SIGSTOP(信號 19)發送失敗。

原因

部分系統的 SELinux 或安全策略會攔截 Process.sendSignal() 調用,導致 Kill 信號發不出去。這是系統安全機制和 Xposed 模組之間的衝突,NoActive 本身沒辦法繞過。

解法

用 magiskpolicy 臨時放權。進入 Root shell,執行:

su
magiskpolicy --live "allow system_server * process {sigstop}"

這條命令會即時生效,不用重開機就能測試。如果生效了,說明就是 SELinux 的問題。

防坑清單

最後整理一份速查清單,開發之前對照一遍,基本能避掉 90% 的翻車:

  • 先查內核版本再選凍結方式:5.10+ 優先 V2;4.19 廠商定制換 V1;Kill 當最後備案。
  • Android 17 必須用內測版 LSPosed:穩定版就是不工作,別浪費時間折騰。
  • LSPosed 注入方式確認是 Zygisk:Riru 在新版本上已經過時了。
  • 激活碼綁定設備,刷機前記好郵箱:官方包可直接重激活,非官方包走人工審核。
  • NoActive 作用域至少勾系統介面:不勾 systemui,模組攔截不到後臺切換事件。

說實話,NoActive 這個模組在 Xposed 生態裡已經算做得很用心的了,坑基本都集中在「環境依賴」和「廠商 ROM 定製」這兩件事上——這也不是 NoActive 一個模組能解決的。把這些前置條件搞定之後,後面用起來其實相當省心,App 不會再莫名其妙後臺偷跑,電池續航肉眼可見地提升。

NoActive 執行列表

本文為個人基於網路公開資料整理編寫,非官方內容,僅供學習交流參考;軟體版權歸原作者所有,請支持正版;使用過程中遇到問題請查閱官方管道,本文不承擔任何責任。

團子還試過這些