本页面由葡萄牙语机器翻译,可能存在错误。葡萄牙语版本为准。
构建、签名与分发 🖥️🤖🍎🌐
流水线的末端,按目标平台划分。每个 launcher 都有自己的 build.gradle;工具链是 Java 17。
各目标平台的任务和产物
| 目标 | 构建 | mainClassName |
产物 |
|---|---|---|---|
| 🖥️ 桌面端 | gradlew :lwjgl3:run(开发)/ jar / 安装程序 |
dev.crossfly.lwjgl3.Lwjgl3Launcher |
jar / 原生安装程序 |
| 🤖 Android | gradlew :android:installDebug / assembleRelease |
AndroidLauncher |
APK / AAB |
| 🍎 iOS | gradlew :ios:launchIPhoneSimulator / 生成 .ipa |
dev.crossfly.IOSLauncher |
.ipa |
| 🌐 Web | gradlew :web:webBundle(别名 dist) |
dev.crossfly.web.WebLauncher |
静态 bundle |
签名
| 目标 | 签名 |
|---|---|
| 🤖 Android | keystore → 为 release 版 .aab/APK 签名 |
| 🍎 iOS | 证书 + provisioning profile → 为 .ipa 签名 |
| 🖥️ 桌面端 | 根据操作系统为安装程序签名(可选) |
| 🌐 Web | 无签名——它是静态内容 |
分发
- 🤖 Android → Google Play (AAB) 或直接分发 APK。
- 🍎 iOS → App Store / TestFlight(通过 Xcode/Transporter)。
- 🖥️ 桌面端 → 原生安装程序(jpackage/jlink)或可执行 jar。
- 🌐 Web → 将
web/build/webapp/的内容托管到任何静态服务器上。
发布清单
- 在桌面端和真实目标平台上测试过(参见 测试)。
- 在各种屏幕/密度上验证过响应式布局(参见 响应式布局)。
- 权限已声明(Android
Manifest/ iOSInfo.plist)。 - 已处理各平台上不可用的功能(参见 矩阵)。
- 签名已配置(keystore / provisioning)。
- 图标、启动画面、版本号/构建号。
- 已生成商店截图(
Main.getScreenShot(true).toPng(...))。
各目标平台的前提条件
- 🖥️ 桌面端: JDK 17;在 macOS 上需
-XstartOnFirstThread。 - 🤖 Android: Android SDK + build tools。
- 🍎 iOS: macOS + Xcode + Apple 开发者账号。
- 🌐 Web: 静态文件服务器。
常见错误
- 提交 iOS 时
Info.plist中缺少使用键(被拒绝)。 - 当 Play Store 要求 AAB 时却发布了 APK。
- 托管 web bundle 时没有一并提供
assets//assets.txt。
另请参阅
这个页面有帮助吗?感谢你的反馈!