Pular para o conteúdo
CrossFly é 100% open sourceSiga no GitHub
CrossFlyCrossFly
Começar

Build, assinatura e distribuição 🖥️🤖🍎🌐

O fim do pipeline, por alvo. Cada launcher tem seu build.gradle; a toolchain é Java 17.

Tasks e artefatos por alvo

Alvo Build mainClassName Artefato
🖥️ Desktop gradlew :lwjgl3:run (dev) / jar / instalador dev.crossfly.lwjgl3.Lwjgl3Launcher jar / instalador nativo
🤖 Android gradlew :android:installDebug / assembleRelease AndroidLauncher APK / AAB
🍎 iOS gradlew :ios:launchIPhoneSimulator / gerar .ipa dev.crossfly.IOSLauncher .ipa
🌐 Web gradlew :web:webBundle (alias dist) dev.crossfly.web.WebLauncher bundle estático

Assinatura

Alvo Assinatura
🤖 Android keystore → assina o .aab/APK release
🍎 iOS certificado + provisioning profile → assina o .ipa
🖥️ Desktop assinatura do instalador conforme o SO (opcional)
🌐 Web não há assinatura — é conteúdo estático

Distribuição

  • 🤖 Android → Google Play (AAB) ou APK direto.
  • 🍎 iOS → App Store / TestFlight (via Xcode/Transporter).
  • 🖥️ Desktop → instaladores nativos (jpackage/jlink) ou jar executável.
  • 🌐 Web → hospede o conteúdo de web/build/webapp/ em qualquer servidor estático.

Checklist de release

  • Testado no desktop e no alvo real (ver Testes).
  • Responsividade validada em telas/densidades (ver Responsividade).
  • Permissões declaradas (Android Manifest / iOS Info.plist).
  • Recursos indisponíveis por plataforma tratados (ver Matriz).
  • Assinatura configurada (keystore / provisioning).
  • Ícones, launch screen, versão/build number.
  • Screenshots de loja gerados (Main.getScreenShot(true).toPng(...)).

Pré-requisitos por alvo

  • 🖥️ Desktop: JDK 17; no macOS, -XstartOnFirstThread.
  • 🤖 Android: Android SDK + build tools.
  • 🍎 iOS: macOS + Xcode + conta de desenvolvedor Apple.
  • 🌐 Web: servidor de arquivos estáticos.

Erros comuns

  • Submeter iOS sem chaves de uso no Info.plist (rejeição).
  • Publicar APK quando a Play Store exige AAB.
  • Hospedar o bundle web sem servir os assets//assets.txt junto.

Veja também

Esta página foi útil?