发布游戏模块用于生成可独立运行的游戏程序。
发布游戏界面

界面布局

构建中心分为左右两栏:
  • 左栏:选择一个或多个构建目标,设置公共信息和各平台配置
  • 右栏:执行批次,显示总进度、每个目标的状态、当前阶段、日志和最终产物
左侧导航有两个入口:「发布游戏」进入构建中心,「历史」查看过去的构建记录和归档产物。

批次构建

构建目标支持多选 PC 桌面端、Android 和 Web。Studio 会先检查所有已选目标的配置,再按批次依次执行;不需要在每个平台之间来回切换并重复开始。
  1. 在「构建目标」中勾选这次需要的一个或多个平台。
  2. 填写游戏名、版本号等公共信息,再完成每个目标自己的配置。
  3. 按需为目标开启 ZIP 交付包。
  4. 开始构建,在右侧查看批次总进度和各产物状态。
批次运行期间,右侧固定显示开始时的目标快照。当前目标失败或手动取消时,面板会明确标出已完成、失败、取消和未开始的项目,并保留日志供排查。
第一次配置新平台时先只构建一个目标,确认工具链和平台参数无误;稳定后再把它加入日常多目标批次。

构建归档

构建成功后,产物会进入「历史」。在历史记录中可以查看当次平台、时间、版本和结果,打开产物所在目录,并在需要时重新使用当次目标配置。 开启 ZIP 交付包后,Studio 会在批次成功结束时把对应产物整理到项目的 dist/packages。取消批次不会自动生成 ZIP;部分目标失败时,只处理已经成功且启用归档的目标。

目标平台

目前支持以下平台:
平台状态说明
桌面端可用支持 macOS、Windows
Web测试版打包为网页版,可自行部署到服务器
Android测试版打包为可安装的 APK,并支持真机或模拟器联调
iOS规划中尚未开放构建
桌面端可以加密剧本、素材和扩展运行文件;Web 构建仍会输出浏览器可直接读取的资源目录。不同平台的输入、窗口与安全区域有差异,所有产物都应在目标设备上完整试玩后再发布。

Android 测试版

Studio 可以把完整游戏构建为 Android APK,并在构建完成后直接安装到 USB 真机或托管模拟器。APK 安装后可以离线游玩,适合移动端适配和分发试玩。
Android 构建目前为测试版,只生成 debug 签名 APK。它可以直接安装和分享测试,但不能代替应用商店要求的正式签名产物。

构建前准备

在顶部目标平台中选择「移动端」。首次使用时,页面顶部会检查以下工具:
工具要求准备方式
Java JDK构建页一键安装使用 JDK 21;已有 JDK 需为 17 或更高点击「一键安装」,或到「设置 → 第三方 → Java JDK」登记本机版本
Android SDKStudio 构建所需的平台与命令行组件点击「一键安装」下载到用户目录
一键安装约需下载 400 MB,不要求管理员权限,也不会修改系统级 Java 或 Android 环境。首次构建还会下载 Gradle 与项目依赖,耗时通常比后续构建更长。 下载速度不理想时,可以在设置 → 第三方 → Java JDK切换「大陆镜像」或「官方源」。下载源同时影响 JDK、Gradle 与构建依赖。

配置应用

配置说明
游戏名显示在手机桌面图标下方
包名Android 用来识别应用的唯一身份,例如 com.yourname.game
版本号语义化版本号,例如 1.0.0
应用图标支持正方形 PNG、JPG 或 WebP,建议至少 512 × 512
游玩时保持屏幕常亮开启后,阅读剧情时不会按系统超时自动熄屏
切到后台时暂停游戏开启后,切走时画面和声音一起暂停

Android 大图兼容模式

「安卓 · 兼容性」中的 兼容模式(推荐) 默认开启。构建时,Studio 会扫描超大静态图片并生成更适合老旧或低配置 Android 设备的兼容版本,降低纹理超限后出现黑屏、缺图或内存压力过大的概率。
  • 开启后可能略微增加 APK 体积和构建时间,并降低部分超大图片的细节;
  • 关闭后可以减少兼容资源和处理时间,但低版本或低配置设备的风险会增加;
  • Live2D、动图等动态资源不会按静态图方式处理,仍需在目标设备上验证。
构建完成后,结果区域会显示实际处理的图片数量和仍需真机检查的动态资源。是否开启会保存到当前项目的 Android 构建配置中。
首次对外发布后不要再修改包名。包名变化会让 Android 把新 APK 识别为另一款应用,原应用无法直接覆盖更新,存档也不会自动共用。

构建 APK

  1. 确认「安卓构建工具链」显示已就绪。
  2. 填写游戏名、包名和版本号,按需选择图标与行为开关。
  3. 点击右侧的构建按钮,等待预检、素材处理和 Android 打包完成。
  4. 在项目的 dist/android 目录取得 APK。
游戏剧本、素材和运行时会一起写入 APK。移动端画面会适配刘海和挖孔屏的安全区域;仍建议在目标手机上检查横屏画面、文字尺寸、按钮触控区域和音频切后台行为。

在设备上运行

构建成功后,右侧会出现「在设备上运行」。Studio 的选择顺序如下:
  1. 检测到开启 USB 调试的 Android 真机时,直接安装并启动 APK。
  2. 没有真机时,尝试启动 Studio 托管的 Android 模拟器。
  3. 模拟器尚未安装时,可以按提示下载约 2 GB 的模拟器组件,再继续运行。
运行成功后可以继续使用「重新运行」「停止」和「卸载」。Studio 会优先操作上一次成功运行的设备。
「卸载」会同时移除该设备上的应用与存档数据。需要保留测试进度时,不要使用卸载;重新构建后直接覆盖安装即可。

连接真机

不同品牌手机开启开发者选项的路径略有不同,通常需要:
  1. 在系统设置中连续点击版本号,开启「开发者选项」。
  2. 在开发者选项中打开「USB 调试」。
  3. 用数据线连接电脑,并在手机上允许当前电脑进行 USB 调试。
  4. 回到构建结果,点击「在设备上运行」。
如果设备没有出现,先确认数据线支持数据传输、手机已授权当前电脑,再重新连接并重试。

JDK 管理

构建页的一键安装适合首次配置。如果电脑已有多个 Java 环境,可以在「设置 → 第三方 → Java JDK」中:
  • 下载并选用 Studio 托管的 JDK 21;
  • 扫描系统中已安装的 JDK;
  • 浏览并登记指定 JDK 目录;
  • 在多个可用版本间切换;
  • 不固定版本,按「Studio 托管 → 系统 JAVA_HOME」自动选择。
从列表移除手动登记的 JDK 只会解除 Studio 的记录,不会删除电脑上的 JDK 文件。

当前限制

  • APK 使用 debug 签名,适合测试,不适合直接上架应用商店。
  • iOS 构建暂不可用;iOS 还需要 macOS、开发者证书和对应签名流程。
  • 首次安装工具链、模拟器和 Gradle 依赖需要联网。
准备分发测试前,至少在一台带挖孔或刘海的手机和一台普通横屏设备上完整试玩,并固定包名、递增版本号。

Web 测试版

v1.9.5 新增
在顶部目标选择中切换到「Web」即可构建网页版,配置项包括:
  • 游戏标题(必填):网页标签页与页面上显示的标题
  • 游戏资源地址:默认 ../assets/
  • 网站图标:浏览器标签页图标
构建产物是目录形式:dist/web(页面)和同级的 dist/assets(资源)。保持这个目录结构整体上传部署即可,默认的 ../assets/ 不需要预先确定域名;只有把资源单独部署到 CDN 时才需要填写完整地址并配置跨域。
浏览器环境不支持调用 Node 原生模块的扩展;使用了 ctx.native.node 的扩展在 Web 版中不可用。

打包配置

打包配置包括:
  • 游戏名称(必填):游戏的显示名称,会出现在应用标题栏和系统中
  • 版本号(必填):语义化版本号,如 1.0.0
  • 游戏图标(可选):替换默认的应用图标
  • 加密游戏内容(桌面端):将剧本、素材和扩展运行文件封装进加密包;新配置默认开启

桌面端内容加密

选择「桌面端」后,在「PC 桌面端 · 安全」中打开「加密游戏内容」。构建完成后,Studio 会把游戏运行所需的剧本、素材和扩展文件封装为 .lgpak,并移除产物中的对应明文副本。
LetsGal Studio 发布游戏页面中的加密游戏内容开关,当前处于开启状态
  • 新建构建配置默认开启加密,正式发布时建议保持开启。
  • 加密会让整包体积略微增加,并延长构建时间。
  • Web 构建不显示这个开关,也不会生成 .lgpak
  • 需要检查原始构建内容或排查兼容问题时,可以临时关闭;重新用于正式分发前请再打开。
内容加密会提高直接提取剧本和素材的难度,但不等同于不可破解的 DRM,也不能代替素材授权、版权登记或发布平台提供的保护措施。

打包流程

项目数据集合会随项目资源一起打包。Spine 模型所需文件会按引用收集;使用 Live2D 的项目还需要先在 设置 → 第三方 安装合法取得的 Cubism SDK for Web,负责构建的每台电脑都要单独安装。详见动态图像与动态立绘
点击「开始打包」后,Studio 会按顺序执行以下阶段:
1

预检

检查项目目录结构是否完整,验证配置信息是否有效,并扫描所有素材引用是否都能找到对应文件。
2

准备

清理上一次的打包输出目录。
3

序列化

读取章节与素材引用,重写素材路径,并生成章节文件和元数据。
4

素材策略

根据素材的引用情况决定哪些素材需要打包、哪些可以排除。
5

复制素材

将被引用或设置为强制打包的素材复制到输出目录。
6

生成清单

生成游戏的资源清单文件,记录章节列表、元数据引用和素材索引。
7

打包运行时

将引擎运行时与项目内容组合,生成目标平台的程序。
8

封装内容加密

桌面端开启加密时,把剧本、素材和扩展运行文件写入 .lgpak,再清理对应明文文件。Web 构建会跳过此阶段。
打包过程中,右栏会实时显示当前阶段的进度和日志输出。你可以随时取消打包。

缺失素材会中断打包

如果项目引用的素材文件不存在,打包会中断并显示缺失引用。 报错信息会列出每一条缺失的引用,精确到它在哪里被用到,例如:
以下资源被引用但文件不存在,无法构建:
   · 剧本 · 序章 · Sound(SE) → se/医院.mp3
   · 角色 · 小美 · 立绘 → characters/xiaomi/sad.png

请重新导入这些资源,或删除剧本里对它们的引用后再打包。
重新导入素材、恢复原路径或删除对应引用后,再次打包。也可以在资源总览中提前检查缺失引用。

打包完成

打包成功后,执行面板会显示:
  • 产物统计:打包耗时、文件数量、总体积
  • 产物列表:所有输出文件的路径和大小
  • 本地试玩:点击「本地试玩 Web」按钮可以立即在浏览器中预览打包后的游戏效果

桌面端产物

  • macOS:生成 .app 应用包,游戏名和图标会自动替换
  • Windows:生成 .exe 可执行文件和相关资源

Android 产物

  • 生成 debug 签名的 .apk 安装包
  • 默认输出到项目目录下的 dist/android
  • 游戏内容包含在 APK 内,安装后可以离线运行
桌面端和 Web 产物默认分别输出到项目目录下的 dist/desktopdist/web

游戏运行窗口

画布分辨率、窗口标题、全屏权限和启动模式在个性化 › 画布与窗口中配置。打包前请检查这些设置。

打包历史

「历史」页面记录了最近 20 次打包的结果,包括:
  • 打包时间
  • 目标平台
  • 耗时
  • 成功 / 失败状态
  • 产物信息
历史记录可以按状态和平台筛选。
打包前运行完整流程,并检查场景、角色、音频和分支。