結論先行: 對一般玩家而言,第三方 App 目前無法可靠地一鍵把 mod 裝進官方 FNF 手機版。最穩定的仍是 官方手動流程(OPEN DATA FOLDER)。進階變通方案存在,但不適合大眾。
我是在讀這篇 V-Slice 入門與排錯文章時產生這個想法的:
Modding FNF V-Slice: Setup, Mobile Workflow, and Troubleshooting
文章把官方行動版裝 mod 的流程寫得很清楚:
- 開啟官方 Friday Night Funkin'(Google Play,
me.funkin.fnf) - 進入 OPTIONS → OPEN DATA FOLDER
- 把 mod 資料夾複製進遊戲沙盒內的
mods/目錄 - 重新啟動遊戲
同時強調幾條容易踩坑的規則:
- 必須是 V-Slice / Polymod mod(含
_polymod_meta.json)—— Psych Engine mod 不能直接套用 api_version須與遊戲版本相符(文章截至 2026 年 7 月已核對 Desktop v0.8.4、Android v0.8.5 hotfix)- 避免 巢狀資料夾(
mods/MyMod/MyMod/...會導致載入失敗) - 不要輕信非官方的「Mod APK」重打包
流程本身沒問題,但對新手仍很麻煩:
- 要找到正確的 mod 壓縮檔並解壓
- 要理解 V-Slice 目錄結構
- 要在檔案管理器中完成複製——而 Android 11+ 對
Android/data的限制 讓這一步尤其不友善
於是我開始想:能不能做一個 Mod Loader,讓玩家點一下就把 mod 裝進 mods/?
我這裡的「一鍵」指的是:
- 使用者選擇或下載一個 V-Slice mod(通常是
.zip) - App 自動完成:解壓 → 驗證格式 → 寫入 FNF 的
mods/目錄 - 開啟遊戲即可遊玩
不包含:Root、拆包改 APK、非官方整合包。
在 OnePlus 12 + 官方 FNF v0.8.5 上,實際路徑是:
/storage/emulated/0/Android/data/me.funkin.fnf/files/mods/
這是 FNF 的 應用程式專屬外部儲存空間,遊戲至少執行過一次後才會建立。
許多教學仍提到 Android/obb/me.funkin.fnf/mods/,但在我的裝置上 該 OBB 路徑並不存在。請以遊戲實際建立的目錄為準。
OPEN DATA FOLDER 能運作,是因為 FNF 透過自訂 DocumentProvider 暴露自己的資料目錄(介面可能顯示 「FNF」 而非套件名稱)。這與第三方 App 用 SAF 隨意選資料夾 不是同一回事。
想法: 讓使用者透過 ACTION_OPEN_DOCUMENT_TREE 授權 mods/,再寫入檔案。
結果:失敗。
- 選擇器無法跳到 FNF 目錄,退回「所有檔案」
Android/底下只看到media、obj等—— 沒有data/obb
這與 Google 官方文件 一致:Android 11+ 上,App 無法用 SAF 請求 Android/data 或 Android/obb。
想法: 像檔案管理器一樣申請「所有檔案存取權」,直接寫入 mods/。
結果:失敗。
- 系統設定顯示權限已授予(
allow) adb可以看到mods/目錄- Mod Loader 行程仍顯示:
exists=true,read=false,write=false
Google 文件 明確說明:即使擁有 MANAGE_EXTERNAL_STORAGE,App 仍無法存取 Android/data/ 下其他 App 的目錄。
這是 Android 平台政策(見 Android 11 儲存空間變更),不是 OnePlus 獨有問題。
想法: App 只負責下載、解壓、驗證,再引導使用者走 OPEN DATA FOLDER 手動複製。
結果:可行,但幾乎稱不上「Mod Loader」。
本質接近「教學 + ZArchiver」,多了一點驗證。最難的那一步並沒有被拿掉。
想法: 使用者透過無線偵錯啟動 Shizuku Server;安裝 mod 時由 Mod Loader 執行 cp 寫入 mods/。
狀態:理論上可行,不適合一般玩家。
- 需開啟開發人員選項、配對無線偵錯;重開機後常需重新啟動 Server
- Play 商店版 Shizuku 在新裝置上可能顯示不相容(例如 OnePlus 12)——改從 GitHub Releases 側載
- 裝置差異大,須逐機驗證
設計筆記:shizuku-mod-loader-design.md
不是沒人想做——而是 Android 擋住了核心需求:
| 路徑 | 第三方 App | 官方 FNF |
|---|---|---|
SAF 寫入 mods/ |
❌ 系統阻擋 | — |
所有檔案存取 Android/data |
❌ 政策排除 | — |
| OPEN DATA FOLDER 內手動複製 | — | ✅ 官方設計 |
| 遊戲內 zip 安裝 API | — |
社群工具(ZArchiver、Shizuku 等)都是變通方案,不是零門檻的一般玩家解法。
FNF 維護者在 GitHub #5366 提到:透過第三方檔案管理器寫入 Android/data 可能導致 polymod_meta.json 讀取失敗。官方支援的路徑仍是 從遊戲內 Open Data Folder。
目前無法靠第三方 App 達成。 請使用官方 V-Slice 行動版流程:
簡要步驟:
- 安裝並至少啟動官方 FNF 一次
- OPTIONS → OPEN DATA FOLDER
- 將解壓後的 mod 資料夾(根目錄含
_polymod_meta.json)複製到mods/ - 重新啟動遊戲
安裝前請確認:
- mod 為 V-Slice / Polymod,不是 Psych Engine
api_version與遊戲版本相符- 沒有多餘的外層包裝資料夾
- Shizuku 按需安裝(側載、進階)——部分裝置可跳過手動複製,設定成本高
- 向上游提功能 / PR——在 FunkinCrew/Funkin 內建「從 zip 安裝 mod」才是可持續的一鍵路線
開源程式碼已有相關基礎:DataFolderProvider、PolymodHandler,以及選項中的 OPEN DATA FOLDER。
我把實驗過程與小型 Android MVP 記錄在這裡:
https://github.com/open4game/fnf-v-slice-mod-loader
內含可行性報告與 Shizuku 設計草稿。
| 問題 | 答案 |
|---|---|
| 為什麼 Android 裝 V-Slice mod 很麻煩? | mod 在 FNF 私有目錄,系統阻擋第三方寫入 |
第三方 App 能一鍵寫入 mods/ 嗎? |
基本上不行(SAF 與所有檔案存取權實測均失敗) |
| 官方建議怎麼做? | OPEN DATA FOLDER 手動複製(見上文 V-Slice 文章) |
| 有進階變通嗎? | Shizuku + shell(小眾、不穩定、非 Play 取向) |
| 長期最佳解? | 官方遊戲內安裝支援 |
-
V-Slice mod 入門與排錯(本文起點)
https://friday-night-funkin.net/en/blog/fnf-v-slice/modding-troubleshooting/ -
Friday Night Funkin' 官方 mod 文件
https://github.com/FunkinCrew/Funkin/tree/main/docs -
Android:管理所有檔案(
MANAGE_EXTERNAL_STORAGE限制)
https://developer.android.com/training/data-storage/manage-all-files -
Android 11 儲存空間變更
https://developer.android.com/about/versions/11/privacy/storage -
FNF Android mod 安裝討論
FunkinCrew/Funkin#5366 -
個人研究專案
https://github.com/open4game/fnf-v-slice-mod-loader
最後更新:2026-07-06 · 測試裝置:OnePlus 12 · 遊戲:FNF Android v0.8.5