Weiss-UltimateSavior/Tyranor-Next · 上手攻略
- 仓库:Weiss-UltimateSavior/Tyranor-Next
- 链接:https://github.com/Weiss-UltimateSavior/Tyranor-Next
- 分类:Android · 游戏 · 视觉小说引擎
- 作者:Tom
- 更新:2026-08-25
是什么
Tyranor-Next 是一个基于 Tyranor 模拟器进行重构的开源视觉小说( Galgame )聚合启动器,面向 Android 平台。它内置了 Kirikiri / ONScripter / Tyrano / Artemis 四套引擎的运行环境,可自动识别并启动八类游戏,提供游戏库管理、封面获取、存档镜像、引擎参数调节等一体化体验。
简单说:如果你喜欢玩日式视觉小说( Galgame ),Tyranor-Next 让你在 Android 上用一个 App 启动多种引擎封装的游戏,不需要为每个游戏单独安装模拟器或引擎。
解决什么问题
视觉小说游戏使用多种不同引擎制作,Android 生态里通常需要: - Kirikiroid2 启动 Kirikiri 游戏 - ONScripter 适配 ONScripter 游戏 - 浏览器或 WebView 启动 TyranoBuilder 游戏 - ……以此类推
Tyranor-Next 将这些引擎全部打包进一个 App,自动检测游戏类型并调用对应运行时,用户只需把游戏文件夹放入目录,启动器自动完成识别、封面获取、存档管理等一系列操作。
快速安装
方式一:APK 安装(推荐)
使用 Gradle 自行编译 Debug APK:
# 需 Android SDK (android-37),建议 Linux/macOS
git clone https://github.com/Weiss-UltimateSavior/Tyranor-Next.git
cd Tyranor-Next
./gradlew assembleDebug --no-daemon
产物路径:app/build/outputs/apk/debug/app-debug.apk
方式二:下载 Release APK(若有发布)
在 GitHub Releases 页面查找预编译 APK 下载安装。
环境要求
- Android 8.0(API 26)及以上
- arm64-v8a 架构(64位ARM,当前只提供此架构原生库)
- 游戏目录需位于 Android 可访问的本地存储,通过系统文件选择器(SAF)授权
核心用法
游戏目录准备
- 将游戏文件(.xp3、nscript.dat、index.html 等)放入 Android 可访问的本地存储目录
- 在 Tyranor-Next 中通过 SAF(Storage Access Framework)授权该目录
- 启动器自动扫描并识别游戏类型
支持的游戏格式
| 引擎/类型 | 典型文件 | 运行时 |
|---|---|---|
| Kirikiri / Kirikiri2 | .xp3、startup.tjs | Kirikiroid2 / krkrsdl3 |
| ONScripter | nscript.dat、.nsa | ONScripter 原生 |
| Artemis | system.ini、.pfs | Artemis 原生 |
| TyranoBuilder | index.html、tyrano/ | 内置 Tyrano Web 运行环境 |
| RPG Maker MV | www/、js/rpg_core.js | 内置 Web 运行环境 |
| RPG Maker MZ | www/、js/rmmz_core.js | 内置 Web 运行环境 |
| VN | globalData.vndata | 内置 Web 运行环境 |
| Web/Other | 通用 index.html | 内置 Web 运行环境 |
存档镜像
Tyranor-Next 支持存档镜像功能,可将游戏存档映射到不同路径,方便备份和管理。
引擎参数调节
每个游戏可单独设置引擎参数覆盖全局设置,适用于需要特殊配置的游戏。
项目结构
app/ 启动器 UI:游戏扫描/管理/封面/存档/设置(Kotlin + Jetpack Compose)
engine/ 引擎运行时核心:SDL2/SDL3、Kirikiri TVP、krkrsdl3、ONScripter、Artemis、Tyrano
docs/ 设计文档
技术栈
- 语言:Kotlin(引擎层含 Java 桥接代码)
- UI:Jetpack Compose + Material 3 + Miuix
- 构建:Gradle 9.5.1 / AGP 9.2.1 / Kotlin 2.x + Compose Compiler
- SDK:compileSdk 37、minSdk 26、targetSdk 36
- 持久化:SharedPreferences
- 文件访问:Storage Access Framework(SAF)
- 原生库:仅提供 arm64-v8a(64位ARM)
引擎运行时架构
- 原生引擎插件(kirikiroid2 / ons / artemis 的 .so)以 assets 形式随 APK 打包
- 首次启动时由
NativePluginManager自动解压安装到应用私有目录 EngineLauncher将 SAF 扫描结果映射到对应引擎 Activity 启动(SAF URI → 真实路径转换)- Tyrano 运行环境内置本地 HTTP 服务器、Asar 归档解析与 JS 钩子脚本
典型适用场景
- 日式视觉小说爱好者:一个 App 启动多种引擎的游戏,不需要安装多个模拟器
- Galgame 收藏管理:集中管理大量游戏,自动获取封面,告别混乱的文件夹
- 存档备份:存档镜像功能便于换机迁移
- Android 掌机场景:在手机/平板上随时玩视觉小说
坑与注意
⚠️ 仅支持 arm64-v8a:32位 ARM 设备(armeabi-v7a)不可用。设备必须是 64 位。
⚠️ 外置存储权限:部分引擎在外置存储上运行时需要「所有文件访问」权限。
⚠️ 兼容性问题:特殊封包/加密方式或修改版引擎的游戏可能需要调整引擎设置或补丁,不保证 100% 兼容。
⚠️ 游戏来源:Tyranor-Next 仅提供运行时启动器,游戏文件需要用户自行准备(正版购买或已有游戏)。
⚠️ GPL-2.0 许可:项目基于 GPL-2.0 发布,衍生作品须遵循同许可开源分发。
⚠️ 上游依赖:引擎运行时基于 Tyranor 模拟器逆向重写,上游涉及 Kirikiroid2 / ONScripter 等 GPL-2.0 项目。
⚠️ 文档较少:作为个人开源项目,说明文档和公开使用案例有限,需要一定 Android 编译经验。
与同类对比
| Tyranor-Next | 单一引擎模拟器(如 Kirikiroid2) | 其他 VN 聚合方案 | |
|---|---|---|---|
| 覆盖引擎数 | 8类(Kirikiri/ONScripter/Artemis/Tyrano/RMMV/RMMZ/VN/Web) | 单一 | 数量有限 |
| 游戏库管理 | ✅ 内置封面获取/存档管理 | ❌ 无 | 部分有 |
| 自动识别 | ✅ 多格式自动识别 | ❌ 仅自己支持的 | 部分支持 |
| 多引擎打包 | ✅ 一个 APK 含全部运行时 | ❌ 需分别安装 | 视方案而定 |
| 平台 | Android | Android/iOS/PC 各有 | 各平台不同 |
| 开源 | ✅ GPL-2.0 | 部分开源/闭源 | 各不相同 |
一句话推荐结论
Tyranor-Next 是 Android 视觉小说爱好者的一站式启动器,内置 8 种游戏引擎自动识别+Galgame 库管理+存档镜像,适合有大量日式视觉小说收藏且希望在手机上统一管理的玩家;上手需要一点 Android 编译基础,关注兼容性列表。