跳到内容
CrossFly 是 100% 开源在 GitHub 关注我们
CrossFlyCrossFly
开始使用

本页面由葡萄牙语机器翻译,可能存在错误。葡萄牙语版本为准。

构建、签名与分发 🖥️🤖🍎🌐

流水线的末端,按目标平台划分。每个 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 / iOS Info.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。

另请参阅

这个页面有帮助吗?