SlayTheAmethystModded
简体中文 | English
SlayTheAmethyst
一个面向 模组版 Slay the Spire 的 Android 启动器项目,在移动端运行大部分桌面版模组
核心特性 • 快速开始 • 构建说明 • 文档入口 • 仓库结构 • 致谢
[!IMPORTANT] 本仓库 不包含 Slay the Spire 的桌面版 jar。构建前请先准备你自己的 Steam 游戏文件。
| 方向 | 说明 |
|---|---|
| 模组兼容性 | 目标是支持绝大多数模组加载,力求模组行为与桌面端一致。 |
| 兼容策略 | 启动器内置多种兼容策略。 |
| 运行时 | 运行 JavaSE 而不是 ART,避免因为实现不一致导致的兼容性问题。 |
| 移动端交互 | 针对触屏补充了控制适配与界面适配。 |
[!Note] 虽然尖塔采用了 LibGDX 编写,但是部分模组仍采用一些桌面特性进行编写,本项目旨在使用适配安卓的 JavaSE 与配套 Native 库来加载这些模组,从而最大限度还原模组的表现。
快速开始
1. 准备构建依赖
设置环境变量 STEAM_PATH,或者在 gradle.properties 中设置 steam.path,其值应指向包含 Slay the
Spire 的 Steam 根目录或 steamapps 目录。
必需文件:
${STEAM_PATH}/common/SlayTheSpire/desktop-1.0.jarruntime-pack/jre8-pojav.zip
依赖下载来源:
- Runtime Pack: ModinMobileSTS/SlayTheAmethystModdedDependence
原生库市场: ModinMobileSTS/SlayTheAmethystResource
[!NOTE]
ModTheSpire.jar、BaseMod.jar、StSLib.jar等核心模组 jar 由应用资源打包提供,不会在构建时从外部模组源动态解析。
2. 构建调试版 APK
.\gradlew.bat :app:assembleDebug
3. 构建签名发布版 APK
[!IMPORTANT] 建议使用发布自动化指南中的方法进行
Release版本的构建,以避免签名不同的问题
使用标准 Android 签名环境变量:
$env:RELEASE_STORE_FILE="C:\path\to\release-signing.jks"
$env:RELEASE_STORE_PASSWORD="..."
$env:RELEASE_KEY_ALIAS="..."
$env:RELEASE_KEY_PASSWORD="..."
.\gradlew.bat :app:assembleRelease
APK 输出目录:
app/build/outputs/apk/debug/app/build/outputs/apk/release/
构建说明
| 模块 | 职责 |
|---|---|
:app |
Android 启动器 UI、打包逻辑、运行时资源组装,以及 adb 调试任务 |
:boot-bridge |
打包进运行时资源的 Java 启动桥接 jar |
:patches:gdx-patch |
构建期包含的桌面兼容补丁 jar |
构建目标:
minSdk 26targetSdk 33compileSdk 36- Java / Kotlin 字节码目标:
1.8
文档入口
仓库已经内置了日常联机调试与 CI 发布所需的关键流程。
设备调试命令:
.\gradlew.bat :app:stsStart
.\gradlew.bat :app:stsStop
.\gradlew.bat :app:stsPullLogs
可选参数:
-PlaunchMode=mts_basemod或-PlaunchMode=vanilla-PdeviceSerial=<adb-serial>-PlogsDir=<path>
更多文档:
仓库结构
| 路径 | 用途 |
|---|---|
app/ |
主 Android 应用与启动器实现 |
boot-bridge/ |
启动桥接 jar 模块 |
patches/gdx-patch/ |
运行时兼容补丁模块 |
runtime-pack/ |
本地运行时包与原生桥接输入 |
docs/ |
开发文档、多语言 README 与架构说明 |
致谢
本仓库复用了并改造了 Amethyst-Android / PojavLauncher 的部分原生与 Java
桥接实现。详细归属与许可证请见 NOTICE
和 THIRD_PARTY_LICENSES.md。
特别感谢:
- AngelAuraMC/Amethyst-Android 提供了 Android JavaSE 启动器桥接方向上的重要工程基础和参考实现。
- bwwq/ModTheSpire 提供了本项目当前使用的 ModTheSpire 变体。
- 所有为 Slay the Spire 模组生态、启动器工具链、问题排查和公开讨论做出贡献的开发者与社区成员。
