Skip to content

ModinMobileSTS/SlaytheSpire2-Android-iOS-HarmoyOS

Repository files navigation

SlayTheSpire2Mobile

一个面向 Slay the Spire 2 Windows 安装产物的恢复与开发仓库。
仓库本身只保存恢复工具、构建脚本和 repo 内维护的 mod;开发者在本地补齐游戏安装目录与 vendor/android 后,可以重建出完整 Godot 工程,并导出第一版 Android Debug + arm64 APK。

Platform Engine Workflow Android Repo Policy

核心特性 • 快速开始 • 输出结果 • 仓库结构 • 已知限制 • 致谢

Important

仓库不包含游戏的反编译源码、导出工程或原始资源。 你必须使用自己本地的 Steam 安装目录来重建工程。

Important

仓库也不直接提交 Android 导出所需的 vendor/android 二进制。 这些文件需要从维护者提供的压缩包中补齐到仓库根目录下,再运行恢复脚本。

核心特性

项目 说明
重建 从本地 Steam 安装目录恢复到 build/recovered_project
脚本化修复 自动应用反编译后所需的 C# / Godot 工程修复
Repo Mod 自动编译仓库内 mod,并注入到恢复工程
Android 首次导出 自动生成 export_presets.cfg,导出 Android Debug Arm64 APK

快速开始

1. 环境准备

  • 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 即可。

2. 补齐 vendor/android

此处下载依赖并解压到仓库根目录,使目录结构变成:

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

3. 运行恢复脚本

推荐直接使用 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 导出。

4. 打开并运行

恢复成功后,桌面开发入口在:

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 的源码

恢复流程会自动完成这些步骤:

  1. 用 GDRE 反编译原游戏
  2. 转回 project.godot
  3. 应用脚本化恢复修复
  4. 复制桌面运行时依赖
  5. 编译恢复工程
  6. 生成并编译 repo 内 mod 工程
  7. 把 mod 注入恢复工程的 mods 目录
  8. 生成 Rider 运行配置
  9. 做一次主菜单烟测
  10. 补齐 Android 插件二进制并修补 .gdextension
  11. 生成 export_presets.cfg
  12. 导出 Android Debug Arm64 APK

仓库结构

路径 说明
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 均无隶属关系。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors