Windows、Android 与单网页
本页解决什么问题:带你把当前项目导出成 Windows 桌面包、Android APK 或单个网页文件,并说明默认参数、运行前提和不能承诺的边界。
三个目标都在 发布 → 导出产物面板 里:
- Windows 桌面
- Android
- 单网页
它们都是本地打包目标:客户端只负责生成并交给你产物,不替你上传商店,也不替你完成签名和上架。
共同流程
- 打开导出产物面板。
- 点击目标卡片。
- 等待面板读取该目标的导出信息。
- 修改平台字段。
- 等待自动保存。
- 点击 打包。
- 构建成功后点 打开所在文件夹 或 另存…。
首次打包时,如果项目还没有对应脚本,会弹出 这个项目还没有配置好导出。此时需要先让陶泥儿调通一次,或自己补上项目脚本。
Windows 桌面
默认参数
- 产品名:空,必填。
- 版本号:默认
1.0.0。 - 公司 / 作者:可空。
- 图标:可空,建议 256×256。
- 架构:Windows 客户端跟随本机;其他系统默认
x64。 - 窗口模式:默认窗口。
- 窗口尺寸:Windows 上按当前屏幕可用区域的 80% 估算;非 Windows 客户端默认
1280×720。 - 允许调整窗口大小:默认开启。
这些默认值只在第一次创建该目标表单时写入。之后以面板里保存的值为准。
表单字段
| 字段 | 说明 |
|---|---|
| 产品名 | 显示在窗口标题、开始菜单和安装目录 |
| 版本号 | 例如 1.0.0,只能包含字母、数字、点、加号、下划线和短横线 |
| 公司 / 作者 | 可空 |
| 图标 | PNG 或 JPEG;打包器需要 ICO 时会自行转换 |
| 架构 | x64 或 arm64 |
| 窗口模式 | 窗口、全屏、无边框全屏 |
| 窗口宽度 | 320–7680 逻辑像素 |
| 窗口高度 | 240–4320 逻辑像素 |
| 允许调整窗口大小 | 开关 |
构建与下载
- 填好产品名和版本号。
- 点击 打包。
- 成功后点 另存 Windows 包。
- 解压 ZIP。
- 双击其中的可执行程序运行。
Windows 包使用桌面外壳承载当前 Web 游戏,不需要用户自己启动网页服务器。
运行前提和限制
- 构建项目里需要有可用的 Windows 打包流程。
- 客户端会准备桌面外壳相关依赖,但不是所有项目都天然适配。
- 产物未做代码签名,Windows 可能提示“未知发布者”。
- arm64、不同 Windows 版本和不同显卡驱动仍需真机验证。
- 客户端不替你做安装包签名、商店上架或自动更新服务。
Android
默认参数
- 应用名:空,必填。
- 包名:默认
com.taonier.game。 - 版本名:默认
1.0.0。 - 版本号:默认
1。 - 屏幕方向:默认横屏。
- 最低 Android 版本:默认 Android 7.0(API 24)。
- 全屏:默认开启。
- 图标:可空,建议 512×512 PNG。
表单字段
| 字段 | 说明 |
|---|---|
| 应用名 | 桌面图标和安装器显示名 |
| 包名 | 反向域名格式;上架后通常不能再改 |
| 版本名 | 展示版本,例如 1.0.0 |
| 版本号 | 大于 0 的整数,每次发布必须递增 |
| 屏幕方向 | 横屏、竖屏、跟随设备 |
| 最低 Android 版本 | API 24–36,对应 Android 7.0–16 |
| 全屏 | 隐藏状态栏和导航栏 |
| 图标 | PNG |
构建与下载
- 填写应用名和包名。
- 确认版本号。
- 选择屏幕方向和最低 Android 版本。
- 点击 打包。
- 成功后点 另存 Android 安装包。
- 把 APK 发送到 Android 设备安装。
运行前提和限制
- 首次构建可能需要下载 Android 工具链,耗时可能较长。
- 客户端可复用项目或缓存里的 JDK、Android SDK 和 Gradle,但项目仍需要成套构建配置。
- 当前产物是开发 / 测试用安装包,不是应用商店签名包。
- 客户端不生成上架签名,不处理 Google Play 或国内商店的资质和审核。
- 不同厂商 ROM、真机安装、横竖屏和安全区需要实际设备验证。
- 含联机功能的 APK 还需要房间服或公网服务可用,安装成功不等于联机可用。
注意
不要只凭“APK 构建成功”就宣称 Android 已适配。至少要在真实设备上安装、启动、操作,并检查联机、音频、存档和返回键等行为。
单网页
默认参数
- 页面标题:空,沿用项目入口 HTML 的标题。
- 方向提示:默认不限。
- 背景色:默认
#000000。 - 图标 / favicon:可空,支持 PNG 或 JPEG。
表单字段
| 字段 | 说明 |
|---|---|
| 页面标题 | 可空;为空时使用项目入口页标题 |
| 方向提示 | 加载时提示横屏、竖屏或不限;不会强制锁屏 |
| 背景色 | 使用 #rgb 或 #rrggbb |
| 图标 / favicon | 可空 |
构建与下载
- 填写页面标题和背景色。
- 选择方向提示。
- 点击 打包。
- 成功后点 另存单网页。
- 得到单个
index.html。 - 双击用浏览器打开。
单网页会把本地样式、脚本和常见媒体资源内联进一个文件,不需要自己启动 Web 服务。
运行前提和限制
- 产物必须是单个 HTML 文件,不是静态目录,也不是 ZIP。
- 内联会把资源变成数据 URI,文件体积通常比原构建产物大。
- 单网页适合较小的游戏;大项目要评估浏览器内存和加载时间。
- 动态
import()、Worker、Service Worker、运行时网络请求等问题不能只靠内联解决。 - 如果项目仍依赖外部 HTTP(S) 资源,严格构建会失败,需要先改成可内联或本地资源。
- 双击打开属于
file://环境,和网页服务器环境并不完全等价。 - 联机游戏仍需要运行中的房间服,单文件不等于独立服务器。
导出失败对照
| 提示 | 含义 | 处理 |
|---|---|---|
| 这个项目还没有配置好导出 | 没有找到该目标的打包脚本 | 让陶泥儿调通一次,或自行补脚本 |
| 项目结构不可用 | 客户端找不到构建入口 | 先运行预览,在失败面板识别或更新项目布局 |
| 打包命令失败 | 构建脚本返回失败 | 查看原因,修正脚本、依赖或资源 |
| 打包超时 | 首次构建或下载工具链过久 | 检查网络和构建日志,必要时重试 |
| 没有生成 Windows 包 | 构建结束但产物缺失或不是 ZIP | 检查脚本输出路径和文件格式 |
| 没有生成 Android 安装包 | 产物缺失或不是带 Manifest 的 APK | 检查 Gradle 和 Android 构建输出 |
| 没有生成单网页 | 产物缺失或不是 HTML | 检查单文件内联脚本和输出路径 |
| 桌面端导出环境不可用 | 当前客户端无法执行构建 | 重新打开面板或重启客户端后重试 |
| 导出信息冲突 | 表单已被别处修改 | 先处理冲突,再重新打包 |
不能承诺“已适配所有引擎”
这三个目标面向当前项目的 Web 构建产物,适合已经能被客户端预览和构建的 Web / Vite 工程。
| 工程类型 | 现状 |
|---|---|
| 当前 Web / Vite 工程 | 可通过项目自己的构建脚本适配 |
| Unity 原生工程 | 不走内置 Web 预览和这套本地导出 |
| Godot 原生工程 | 不走内置 Web 预览和这套本地导出 |
| Cocos 原生工程 | 不走内置 Web 预览和这套本地导出 |
注意
不要把“能打开项目”“能识别文件”当成“能导出所有平台”。Windows 桌面、Android 和单网页都依赖项目里已经调通的 Web 构建流程,不能对任何原生引擎做普遍适配承诺。
即使项目属于 Web 工程,也不能自动承诺:
- 所有浏览器都能运行。
- 所有 Android 设备都能安装和流畅运行。
- Windows 所有架构和系统版本都可用。
- 单网页在所有
file://安全限制下行为一致。 - 所有音频、视频、WebGL、Worker 和联机功能都已适配。
客户端只能保证这次构建产出了通过基础形状检查的文件;真正的玩法、性能、输入、存档和联机体验,仍需在目标设备上验收。