一个面向 Slay the Spire 2 Windows 安装产物的恢复与开发仓库。
仓库本身只保存恢复工具、构建脚本和 repo 内维护的 mod;开发者在本地补齐游戏安装目录与 vendor/android 后,可以重建出完整 Godot 工程,并导出第一版 Android Debug + arm64 APK。
核心特性 • 快速开始 • 输出结果 • 仓库结构 • 已知限制 • 致谢
Important
仓库不包含游戏的反编译源码、导出工程或原始资源。 你必须使用自己本地的 Steam 安装目录来重建工程。
Important
仓库也不直接提交 Android 导出所需的 vendor/android 二进制。
这些文件需要从维护者提供的压缩包中补齐到仓库根目录下,再运行恢复脚本。
| 项目 | 说明 |
|---|---|
| 重建 | 从本地 Steam 安装目录恢复到 build/recovered_project |
| 脚本化修复 | 自动应用反编译后所需的 C# / Godot 工程修复 |
| Repo Mod | 自动编译仓库内 mod,并注入到恢复工程 |
| Android 首次导出 | 自动生成 export_presets.cfg,导出 Android Debug Arm64 APK |
- Windows 10 / 11
- 已安装
python - 已安装
dotnet - 已安装 Android SDK / NDK / JDK,并已在 Godot Editor Settings 中配置 Android 导出环境
- 本地存在
Slay the Spire 2的 Steam 安装目录
默认游戏目录是:
D:\Software\Steam\steamapps\common\Slay the Spire 2
如果你的安装位置不同,运行脚本时传入 -GameDir 即可。
从此处下载依赖并解压到仓库根目录,使目录结构变成:
vendor/
android/
fmod/
fmod-debug.aar
fmod-release.aar
libGodotFmod.android.template_debug.arm64.so
libGodotFmod.android.template_release.arm64.so
libfmod.so
libfmodL.so
libfmodstudio.so
libfmodstudioL.so
spine/
libspine_godot.android.template_debug.arm64.so
libspine_godot.android.template_release.arm64.so
sentry/
libsentry.android.debug.arm64.so
libsentry.android.release.arm64.so
如果这些文件缺失,恢复脚本会在 Android 导出前直接失败,并把缺失项写入 recovery_report.json。
推荐直接使用 Python 入口脚本:
python .\recover_sts2_godot.py --force如需指定游戏目录:
python .\recover_sts2_godot.py --force --game-dir "D:\Software\Steam\steamapps\common\Slay the Spire 2"如果这次只想恢复桌面工程,不做 Android 导出:
python .\recover_sts2_godot.py --force --skip-android-export为减少迁移成本,Python CLI 也兼容旧的 PowerShell 风格参数别名,例如 -Force、-GameDir、-SkipAndroidExport。
如果已经恢复完成,只想基于当前 build\recovered_project 重新导出 APK:
python .\export_android_apk.py这个脚本会先检查恢复工程是否存在;如果没有恢复完成,会直接提示先运行 recover_sts2_godot.py。默认也会重新编译 repo 内的 mod,再执行 Android 导出。
恢复成功后,桌面开发入口在:
D:\Desktop\SlayTheSpire2Mobile\build\recovered_project\sts2.sln
Android 首次导出的 APK 默认在:
D:\Desktop\SlayTheSpire2Mobile\build\recovered_project\build\android\sts2-android-debug.apk
| 路径 | 作用 |
|---|---|
build\recovered_project |
恢复出来的 Godot 工程 |
build\recovered_project\sts2.sln |
Rider / .NET 开发入口 |
build\recovered_project\recovery_report.json |
本次恢复、构建、烟测、Android 导出的权威结果 |
build\recovered_project\build\android\sts2-android-debug.apk |
首次导出的 Android Debug arm64 APK |
mods\ahahaha_menu\src |
当前 repo 内 UI Scale mod 的源码 |
恢复流程会自动完成这些步骤:
- 用 GDRE 反编译原游戏
- 转回
project.godot - 应用脚本化恢复修复
- 复制桌面运行时依赖
- 编译恢复工程
- 生成并编译 repo 内 mod 工程
- 把 mod 注入恢复工程的
mods目录 - 生成 Rider 运行配置
- 做一次主菜单烟测
- 补齐 Android 插件二进制并修补
.gdextension - 生成
export_presets.cfg - 导出
Android Debug Arm64APK
| 路径 | 说明 |
|---|---|
recover_sts2_godot.py |
主恢复脚本,负责重建、修复、构建、注入 mod、烟测、Android 导出 |
export_android_apk.py |
基于已恢复工程重新编译 mod 并再次导出 Android APK |
mods\ahahaha_menu |
当前 repo 自带的 UI Scale 开发 mod |
tools |
仓库内固定版本工具 |
vendor\android |
需要开发者本地补齐的 Android 专有/额外二进制,不进 git |
build |
重建输出目录,已被 .gitignore 忽略 |
vendor/android不在仓库内,必须先从维护者提供的压缩包补齐。- 当前验收边界是“成功导出 Debug APK”;是否能在设备上完整跑通,仍需要后续真机验证。
- Godot 4.5.1 Mono 在导出完成后仍可能因为退出阶段崩溃而出现异常退出码;脚本会按“导出完成标记 + APK 实际存在”判断成功。
- 仓库只保证“从你自己的游戏安装重建并运行”,不直接分发游戏内容。
本项目与游戏官方、Steam、Godot 或 GDRE Tools 均无隶属关系。