2012-01-27 26 views
9

Nunca he hecho un programa en un ejecutable antes, y he estado buscando cómo hacer esto desde hace un tiempo. Cuando trato de ponerlo en un contenedor, todo funciona bien, pero cuando intento ejecutarlo, no pasa nada.Cómo hacer un ejecutable de mi juego LIBGDX

Cómo convertir mi juego en un ejecutable para que pueda ejecutarse (en Windows, no en Android) Siento que no lo estoy enlazando a las bibliotecas o algo así ... No estoy seguro. Gracias!

Editar: debo añadir consigo el error

JAR export finished with warnings. See details for additional information. 
duplicate entry: com/badlogic/gdx/utils/arial-15.fnt 
duplicate entry: com/badlogic/gdx/utils/arial-15.fnt 
duplicate entry: com/badlogic/gdx/utils/arial-15.png 
duplicate entry: com/badlogic/gdx/utils/arial-15.png 
Jar export finished with problems. 
See details for additional information. 
+0

Para que quede claro lo que busca es construir un ejecutable para otras personas para funcionar en Windows? ¿O en sus dispositivos Android? (¿O en una Mac?) –

+0

He descubierto cómo exportar una APK y hacer que funcione en dispositivos Android y funciona muy bien. Pero está en lo correcto, estoy intentando que funcione en Windows. Todavía no me he dado cuenta. –

+0

FWIW, recibo un montón de advertencias de "entrada duplicada" también. Sin embargo, son para diferentes clases. Debería inspeccionar el archivo .jar resultante (por ejemplo, con winzip o 7zip) y ver que contiene sus archivos de clase, y que el archivo META-INF \ MANIFEST.MF hace referencia a la "Clase principal" correcta. El nivel superior de .jar también debe tener muchas bibliotecas (por ejemplo, gdx.dll y libgdx.so, etc.). –

Respuesta

7

Su problema es que cuando usa eclipse export como archivo jar ejecutable lo hace no incluya los activos (gráficos, sonidos ...) que utilizó en su proyecto gdx. Lo que puede hacer manualmente es copiar su carpeta de activos al lado del archivo jar generado o incluir su carpeta de activos en su archivo jar con su herramienta de administración de archivos zip favorita.

Otra forma sería utilizar este mismo asistente de exportación de eclipse y marcar "Guardar como guión ANT" y luego editar el archivo ant generado para incluir todos los archivos y carpetas que necesita su aplicación.

Esperanza esto ayuda

+0

gracias esto solucione mi problema – Yayo28

+0

Esta fue la solución. He estado trabajando desde que hice lo que dije aquí. ¡Gracias! –

5

Estoy asumiendo que su aplicación es setup as the libgdx wiki page suggests (con un "proyecto principal" y "escritorio" independiente y proyectos "androide" que comparten las fuentes del proyecto "principal").

Como su aplicación está escrita en Java, requiere una JVM para ejecutarse en un escritorio. Debe decidir si desea empaquetar eso o confiar en una JVM que ya está instalando el usuario. Creo que empacar la JVM con los archivos de la clase Java es muy complicado y plantea una serie de otros problemas (y se vuelve muy específico de la plataforma). Por lo tanto, creo que la mayoría de los juegos basados ​​en libgdx se distribuyen como un archivo Jar ejecutable, lo que significa que el usuario ya debe tener Java. (Funciona para Minecraft, por lo que probablemente sea lo suficientemente bueno para ti también :) :)

Eclipse hace que sea realmente fácil: File -> Export ... -> Java -> Executable Jar File. Es posible que se requieran pasos adicionales para incluir elementos como las imágenes y los sonidos de su aplicación en este archivo .jar. (Mi juego actualmente está "libre de activos", por lo que no tengo ninguna experiencia con esta parte.)

También podría considerar dar un paso al costado del ejecutable de escritorio y empacar su juego como un applet y ejecutarlo en una navegador web, por lo que hay muy poca "instalación" requerida por la gente a la que desea mostrarla. Aquí hay un walkthrough for making an applet from a libgdx-based game. (No lo he probado aún, pero tengo un juego basado en libgdx que estoy planeando para esto.)

+0

¡Muchas gracias por su respuesta! Cuando pruebo lo que sugirió, abrirá una ventana blanca en blanco. Voy, Archivo >> Exportar >> Archivo JAR ejecutable y he intentado con la opción "Extraer bibliotecas requeridas en JAR generado" y "paquete requerido bibliotecas en JAR generado" con el mismo resultado (no funciona). ¿Y ahora qué? –

+0

Además, cuando intento agregar el siguiente com.badlogic.gdx.backends.lwjgl.LwjglApplication Eclipse no ve que exista. ¿Es posible que no tenga LibGDX funcionando correctamente o algo así como esas líneas? Mi juego funciona bien ... –

+0

¿Escogiste un "destino de exportación"? Esa es la forma obtusa de Eclipse de pedir el nombre del archivo .jar que debería crear. Acabo de crear un .jar desde mi aplicación, y no tuve ningún problema ... hmmm ... estoy usando el back-end de jogl, no lwjgl.Pero dudo que eso haga mucha diferencia. –

6

Ésta es una vieja pregunta, pero si está utilizando una nueva versión de libgdx y Gradle puede utilizar la línea de comandos para hacer un ejecutable.

Hay varios comandos, pero estos son para los envases:

escritorio

gradlew desktop:dist 

Android (sin firmar)

gradlew android:assembleRelease 

iOS

gradlew ios:createIPA 

Web

gradlew html:dist 

Ver más en https://github.com/libgdx/libgdx/wiki/Gradle-on-the-Commandline

+0

Funciona perfecto :-) –

+0

Para la distribución de escritorio "gradlew desktop: dist" crea el .jar pero no funciona si no se coloca en la carpeta de activos. Me pregunto si este es un problema con una actualización de Gradle. – FoxDonut

1

Si utilizas Android Studio, puede crear una configuración personalizada para distribuir desde dentro del programa.

En la lista desplegable Ejecutar, seleccione editar configuraciones.

Haga clic en "+". Seleccione Gradle.

En la mitad derecha de esa pantalla, proporcione a su configuración un Nombre.

Proyecto Gradle: Use el botón Examinar para seleccionar su aplicación de escritorio. Esto se verá algo como (nombre del proyecto): escritorio

Tareas: tipo "escritorio: dist"

Aplicar.

Cierre el editor de configuración y seleccione su nueva configuración del menú desplegable. Hit Run y ​​debería construir su proyecto.

El nuevo archivo Jar debe estar ubicado en (Nombre del Proyecto)/desktop/construcción/libs

+0

Muchas gracias por ** (ProjectName)/desktop/build/libs **. Normalmente crea un archivo pequeño, pero una vez que lo compilé a través de cmd ¡funcionó! – Soley

Cuestiones relacionadas