Esta página fue traducida automáticamente del portugués y puede contener errores. La versión en portugués es la canónica.
Build, firma y distribución 🖥️🤖🍎🌐
El final del pipeline, por destino. Cada launcher tiene su build.gradle; la toolchain es Java 17.
Tasks y artefactos por destino
| Destino | Build | mainClassName |
Artefacto |
|---|---|---|---|
| 🖥️ 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 / generar .ipa |
dev.crossfly.IOSLauncher |
.ipa |
| 🌐 Web | gradlew :web:webBundle (alias dist) |
dev.crossfly.web.WebLauncher |
bundle estático |
Firma
| Destino | Firma |
|---|---|
| 🤖 Android | keystore → firma el .aab/APK release |
| 🍎 iOS | certificado + provisioning profile → firma el .ipa |
| 🖥️ Desktop | firma del instalador según el SO (opcional) |
| 🌐 Web | no hay firma — es contenido estático |
Distribución
- 🤖 Android → Google Play (AAB) o APK directo.
- 🍎 iOS → App Store / TestFlight (vía Xcode/Transporter).
- 🖥️ Desktop → instaladores nativos (jpackage/jlink) o jar ejecutable.
- 🌐 Web → hospeda el contenido de
web/build/webapp/en cualquier servidor estático.
Checklist de release
- Probado en el desktop y en el destino real (ver Pruebas).
- Responsividad validada en pantallas/densidades (ver Responsividad).
- Permisos declarados (Android
Manifest/ iOSInfo.plist). - Recursos no disponibles por plataforma tratados (ver Matriz).
- Firma configurada (keystore / provisioning).
- Iconos, launch screen, número de versión/build.
- Capturas de tienda generadas (
Main.getScreenShot(true).toPng(...)).
Prerrequisitos por destino
- 🖥️ Desktop: JDK 17; en macOS,
-XstartOnFirstThread. - 🤖 Android: Android SDK + build tools.
- 🍎 iOS: macOS + Xcode + cuenta de desarrollador Apple.
- 🌐 Web: servidor de archivos estáticos.
Errores comunes
- Enviar iOS sin claves de uso en el
Info.plist(rechazo). - Publicar APK cuando la Play Store exige AAB.
- Hospedar el bundle web sin servir los
assets//assets.txtjunto.
Ver también
¿Te resultó útil esta página?¡Gracias por tu opinión!