<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=LIBGDX_Empaquetado_distribuci%C3%B3n.</id>
	<title>LIBGDX Empaquetado distribución. - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=LIBGDX_Empaquetado_distribuci%C3%B3n."/>
	<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=LIBGDX_Empaquetado_distribuci%C3%B3n.&amp;action=history"/>
	<updated>2026-10-27T05:03:57Z</updated>
	<subtitle>Historial de revisiones de esta página en la wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://manuais.iessanclemente.net/index.php?title=LIBGDX_Empaquetado_distribuci%C3%B3n.&amp;diff=51672&amp;oldid=prev</id>
		<title>Angelfg: /* Dende consola/terminal */</title>
		<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=LIBGDX_Empaquetado_distribuci%C3%B3n.&amp;diff=51672&amp;oldid=prev"/>
		<updated>2014-11-27T15:11:13Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Dende consola/terminal&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;span style=&amp;quot;font-size:150%;&amp;quot;&amp;gt;UNIDADE 2: Empaquetado e distribución&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introdución==&lt;br /&gt;
&lt;br /&gt;
Nesta sección imos ver como podemos crear o arquivo que vai ser descargado polos xogadores para instalar o xogo no seu computador / tablet.&lt;br /&gt;
&lt;br /&gt;
Información na wiki: https://github.com/libgdx/libgdx/wiki/Gradle-on-the-Commandline#packaging-the-project&lt;br /&gt;
&lt;br /&gt;
Vídeo explicativo: https://www.youtube.com/watch?v=shxHON23qNo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
O proceso é moi sinxelo.&lt;br /&gt;
Temos que ir ó cartafol onde se atopa o noso proxecto dende a consula de ms-dos (Windows) ou dende un terminal en Linux.&lt;br /&gt;
&lt;br /&gt;
Unha vez nel, e dependendo da plataforma, faremos:&lt;br /&gt;
&lt;br /&gt;
==Desktop==&lt;br /&gt;
&lt;br /&gt;
Windows: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; line enclose=&amp;quot;div&amp;quot; highlight=&amp;quot;&amp;quot; &amp;gt;&lt;br /&gt;
gradlew desktop:dist&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Linux:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; line enclose=&amp;quot;div&amp;quot; highlight=&amp;quot;&amp;quot; &amp;gt;&lt;br /&gt;
./gradlew desktop:dist&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Unha vez xerado teremos o arquivo coa extensión jar no cartafol &amp;#039;&amp;#039;&amp;#039;desktop/build/libs/&amp;#039;&amp;#039;&amp;#039; do proxecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Android==&lt;br /&gt;
&lt;br /&gt;
As aplicación Android poder xerarse firmadas ou non.&lt;br /&gt;
A firma consiste nun proceso polo que &amp;#039;asociamos&amp;#039; un certificado cunha información (persoa ou empresa que publica a aplicación / xogo, data de validez do certificado,....) ó xogo desenvolto.&lt;br /&gt;
&lt;br /&gt;
Se quixeramos levar o xogo o Market de Android teríamos que firmar a aplicación.&lt;br /&gt;
Dito certificado serviríanos despois para subir novas versións do xogo ó Market.&lt;br /&gt;
&lt;br /&gt;
===Graficamente===&lt;br /&gt;
&lt;br /&gt;
O podemos facer dende o entorno do eclipse. Simplemente nos situamos sobre o proxecto versión de&lt;br /&gt;
Android. Neste caso imos explicar o proceso para xerar unha versión firmada, tendo que escoller a opción Export UnSigned Application Package se queremos xerar a non firmada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Xeración do xogo con firma&amp;quot; widths=&amp;quot;200&amp;quot; heights=&amp;quot;200px&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Image:LIBGDX_UD2_15_Empaquetado_3.jpg|  Prememos botón dereito e escollemos a opción Android Tools =&amp;gt; &amp;#039;Export Signed Application Package&amp;#039;:.&lt;br /&gt;
Image:LIBGDX_UD2_15_Empaquetado_4.jpg | Aparece un asistente.Prememos next.&lt;br /&gt;
Image:LIBGDX_UD2_15_Empaquetado_5.jpg | Agora debemos indicar se usamos un keystore previamente creado ou creamos un novo. Escollemos esta segunda opción e indicamos onde se vai gardar o keystore e a contrasinal do almacén de claves. Prememos next.&lt;br /&gt;
Image:LIBGDX_UD2_15_Empaquetado_6.jpg | Cubrimos os datos do certificado.&lt;br /&gt;
Image:LIBGDX_UD2_15_Empaquetado_7.jpg| Indicamos o lugar onde se vai xerar o apk xa coa firma.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Nota:&amp;lt;/u&amp;gt; Os datos do certificado son:&lt;br /&gt;
* Alias: Un alias para o keystore. Pode ser o mesmo que o nome ou unha abreviación do mesmo.&lt;br /&gt;
* Password: Novamente asinámoslle unha contrasinal. Ten que ter o lo menos 6 caracteres. Esta vai ser a contrasinal da key,&lt;br /&gt;
* Validity (years): Aquí indicamos o tempo que vai ser válida a nosa keystore en anos.&lt;br /&gt;
* Os seguintes campos fan referencia a información persoal e da organización. O campo de Country Code, se pode consultar no listado da [http://es.wikipedia.org/wiki/ISO_3166-1 ISO 3166-1]. No noso caso é &amp;#039;&amp;#039;&amp;#039;ES&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
===Dende consola/terminal===&lt;br /&gt;
====Sen firmar====&lt;br /&gt;
Windows: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; line enclose=&amp;quot;div&amp;quot; highlight=&amp;quot;&amp;quot; &amp;gt;&lt;br /&gt;
gradlew android:assembleRelease&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Linux:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; line enclose=&amp;quot;div&amp;quot; highlight=&amp;quot;&amp;quot; &amp;gt;&lt;br /&gt;
./gradlew android:assembleRelease&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Unha vez xerado teremos o arquivo coa extensión apk no cartafol &amp;#039;&amp;#039;&amp;#039;android/build/outputs/apk&amp;#039;&amp;#039;&amp;#039; do proxecto.&lt;br /&gt;
&lt;br /&gt;
Se agora intentades instalar dita aplicación nun dispositivo móbil vos avisará que tedes que permitir instalar aplicación dende fontes descoñecidas. Isto é así xa que a aplicación que se xera non está firmada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Nota:&amp;lt;/u&amp;gt; Parece ser que dende que se cambiou a Gradle a xeración de proxectos Android sen firmar leva consigo que cando intentedes instalalo nun dispositivo móbil vos dea o erro de &amp;#039;&amp;#039;&amp;#039;Aplicación no instalada&amp;#039;&amp;#039;&amp;#039;. Se é ese o caso probade a firmar a aplicación.&lt;br /&gt;
&lt;br /&gt;
====Firmada====&lt;br /&gt;
&lt;br /&gt;
* Primeiro temos que ir cunha consola / terminal ó cartafol onde se atope o JDK ou JRE instalado no equipo. Ó cartafol bin (jre/bin ou jdk/bin). Se a ruta xa está engadida ó path non faría falla facer este paso.&lt;br /&gt;
&lt;br /&gt;
* Despois temos que teclear o seguinte:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; line enclose=&amp;quot;div&amp;quot; highlight=&amp;quot;&amp;quot; &amp;gt;&lt;br /&gt;
keytool -genkey -v -keystore almacen.keystore -alias xogoplatega -keyalg RSA -keysize 2048 -validity 10000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
:Isto vai crear unha clave (xogoplatega) que vai ser gardada nun almacén de claves de nome almacen.keystore (un almacén pode ter moitas claves gardadas).&lt;br /&gt;
&lt;br /&gt;
:Os datos a pedir serán:&lt;br /&gt;
:* Contrasinal do almacén de datos (dúas veces).&lt;br /&gt;
:* Nome e apelidos.&lt;br /&gt;
:* Nome da unidade da organización.&lt;br /&gt;
:* Nome da organización.&lt;br /&gt;
:* Cidade.&lt;br /&gt;
:* Provincia.&lt;br /&gt;
:* Código do país: ES&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;NOTA:&amp;lt;/u&amp;gt; Coidado en Windows 7 xa que se abrides unha consola de ms-dos en modo non administrador non terá permiso para crear o almacén. Podedes ir a outro cartafol con permisos de escritura e referenciar o keytool coa ruta completa: c:\archivos de programa\java\jreXXXX\bin\keytool ....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Confirmaremos e xa teremos xerado a clave coa que imos &amp;#039;firmar&amp;#039; o noso xogo.&lt;br /&gt;
&lt;br /&gt;
Podemos verificar que o almacén e a clave son correctos:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; line enclose=&amp;quot;div&amp;quot; highlight=&amp;quot;&amp;quot; &amp;gt;&lt;br /&gt;
keytool -list -v -keystore almacen.keystore&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A partir de aquí dispoñemos de dúas opcións:&lt;br /&gt;
&lt;br /&gt;
=====Opción a)=====&lt;br /&gt;
&lt;br /&gt;
Firmar a aplicación de forma manual. &lt;br /&gt;
&lt;br /&gt;
Primeiro debemos xerar o apk sen firmar. Podemos facelo como está indicado nun punto anterior, dende a consola/terminal ou outra forma de facelo é graficamente:&lt;br /&gt;
&lt;br /&gt;
[[Imagen:LIBGDX_UD2_15_Empaquetado_2.jpg | 400px | center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Despois debemos executar esta orde dende un terminal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; line enclose=&amp;quot;div&amp;quot; &amp;gt;&lt;br /&gt;
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ruta_e_arquivo_almacen_datos omeuxogo.apk nome_do_alias&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Nota:&amp;lt;/u&amp;gt; O executable jarsigner se atopa no cartafol bin do SDK instalado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para verificar se todo está correcto:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; line enclose=&amp;quot;div&amp;quot; &amp;gt;&lt;br /&gt;
jarsigner -verify -verbose -certs nome_xogo.apk&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Opción b)=====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Agora debemos modificar o arquivo &amp;#039;&amp;#039;&amp;#039;build.gradle&amp;#039;&amp;#039;&amp;#039; que se atopa no raíz do proxecto. O podemos facer dende o propio eclipse se prememos dúas veces sobre o arquivo.&lt;br /&gt;
&lt;br /&gt;
[[Imagen:LIBGDX_UD2_15_Empaquetado_1.jpg | center | 400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Debemos ir ás sección proyect(&amp;quot;:android&amp;quot;) e escribir o marcado:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; line enclose=&amp;quot;div&amp;quot; highlight=&amp;quot;13-28&amp;quot; &amp;gt;&lt;br /&gt;
project(&amp;quot;:android&amp;quot;) {&lt;br /&gt;
    apply plugin: &amp;quot;android&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    configurations { natives }&lt;br /&gt;
&lt;br /&gt;
    dependencies {&lt;br /&gt;
        compile project(&amp;quot;:core&amp;quot;)&lt;br /&gt;
        compile &amp;quot;com.badlogicgames.gdx:gdx-backend-android:$gdxVersion&amp;quot;&lt;br /&gt;
        natives &amp;quot;com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi&amp;quot;&lt;br /&gt;
        natives &amp;quot;com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi-v7a&amp;quot;&lt;br /&gt;
        natives &amp;quot;com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    android {&lt;br /&gt;
        //...&lt;br /&gt;
        signingConfigs {&lt;br /&gt;
            releaseSigning {&lt;br /&gt;
                storeFile file(&amp;quot;willBeReplaced&amp;quot;)&lt;br /&gt;
                storePassword &amp;quot;&amp;quot;&lt;br /&gt;
                keyAlias &amp;quot;&amp;quot;&lt;br /&gt;
                keyPassword &amp;quot;&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        buildTypes {&lt;br /&gt;
            release {&lt;br /&gt;
                signingConfig signingConfigs.releaseSigning&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Agora debemos de poñer este código o &amp;#039;&amp;#039;&amp;#039;comezo do arquivo&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; line enclose=&amp;quot;div&amp;quot; highlight=&amp;quot;&amp;quot; &amp;gt;&lt;br /&gt;
import groovy.swing.SwingBuilder&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* E este código &amp;#039;&amp;#039;&amp;#039;ó final do arquivo&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; line enclose=&amp;quot;div&amp;quot; highlight=&amp;quot;&amp;quot; &amp;gt;&lt;br /&gt;
gradle.taskGraph.whenReady { taskGraph -&amp;gt;&lt;br /&gt;
    if(taskGraph.hasTask(&amp;#039;:android:assembleRelease&amp;#039;)) {&lt;br /&gt;
        def _store = &amp;#039;&amp;#039;&lt;br /&gt;
        def _storePassword = &amp;#039;&amp;#039;&lt;br /&gt;
        def _keyPassword = &amp;#039;&amp;#039;&lt;br /&gt;
        def _keyAlias = &amp;#039;&amp;#039;&lt;br /&gt;
        if(System.console() == null) {&lt;br /&gt;
            new SwingBuilder().edt {&lt;br /&gt;
                def inputStore&lt;br /&gt;
                def inputStorePass&lt;br /&gt;
                def inputKey&lt;br /&gt;
                def inputKeyPass&lt;br /&gt;
                dialog(modal: true,&lt;br /&gt;
                        title: &amp;#039;Key Store&amp;#039;,&lt;br /&gt;
                        alwaysOnTop: true,&lt;br /&gt;
                        resizable: false,&lt;br /&gt;
                        locationRelativeTo: null,&lt;br /&gt;
                        pack: true,&lt;br /&gt;
                        show: true&lt;br /&gt;
                ) {&lt;br /&gt;
                    vbox {&lt;br /&gt;
                        label(text: &amp;quot;Key store:&amp;quot;)&lt;br /&gt;
                        inputStore = textField(text: &amp;quot;myKeyStore.keystore&amp;quot;)&lt;br /&gt;
                        label(text: &amp;quot;Key store password:&amp;quot;)&lt;br /&gt;
                        inputStorePass = passwordField()&lt;br /&gt;
                        label(text: &amp;quot;Key alias:&amp;quot;)&lt;br /&gt;
                        inputKey = textField(text: &amp;quot;myAlias&amp;quot;)&lt;br /&gt;
                        label(text: &amp;quot;Key password:&amp;quot;)&lt;br /&gt;
                        inputKeyPass = passwordField()&lt;br /&gt;
                        button(defaultButton: true, text: &amp;#039;OK&amp;#039;, actionPerformed: {&lt;br /&gt;
                            _store = inputStore.text&lt;br /&gt;
                            _storePassword =  new String(inputStorePass.password);&lt;br /&gt;
                            _keyAlias =  inputKey.text&lt;br /&gt;
                            _keyPassword =  new String(inputKeyPass.password)&lt;br /&gt;
                            dispose();&lt;br /&gt;
                        })&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        } else {&lt;br /&gt;
            _store = System.console().readLine(&amp;quot;\nLocation of the key store: &amp;quot;)&lt;br /&gt;
            _storePassword = System.console().readPassword(&amp;quot;\nKey store password: &amp;quot;)&lt;br /&gt;
            _storePassword = new String(_storePassword)&lt;br /&gt;
            _keyAlias = System.console().readLine(&amp;quot;\nKey alias: &amp;quot;)&lt;br /&gt;
            _keyPassword = System.console().readPassword(&amp;quot;\nKey password: &amp;quot;)&lt;br /&gt;
            _keyPassword = new String(_keyPassword)&lt;br /&gt;
        }&lt;br /&gt;
        if(_storePassword.size() &amp;lt;= 0 || _keyPassword.size() &amp;lt;= 0 ||&lt;br /&gt;
                _store.size() &amp;lt;= 0 || _keyAlias.size() &amp;lt;= 0) {&lt;br /&gt;
            throw new InvalidUserDataException(&amp;quot;You must enter a key store password and key password.&amp;quot;)&lt;br /&gt;
        }&lt;br /&gt;
        if(!file(_store).exists()){&lt;br /&gt;
            throw new InvalidUserDataException(&amp;quot;Could not find key store [&amp;quot;+_store+&amp;quot;]&amp;quot;)&lt;br /&gt;
        }&lt;br /&gt;
        //set signing values to android project&lt;br /&gt;
        project(&amp;quot;android&amp;quot;).android.signingConfigs.releaseSigning.storeFile = file(_store)&lt;br /&gt;
        project(&amp;quot;android&amp;quot;).android.signingConfigs.releaseSigning.storePassword = _storePassword&lt;br /&gt;
        project(&amp;quot;android&amp;quot;).android.signingConfigs.releaseSigning.keyAlias = _keyAlias&lt;br /&gt;
        project(&amp;quot;android&amp;quot;).android.signingConfigs.releaseSigning.keyPassword = _keyPassword&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Agora só queda xerar a apk firmada, como fixemos antes:&lt;br /&gt;
&lt;br /&gt;
:Windows: &lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; line enclose=&amp;quot;div&amp;quot; highlight=&amp;quot;&amp;quot; &amp;gt;&lt;br /&gt;
gradlew android:assembleRelease&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Linux:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; line enclose=&amp;quot;div&amp;quot; highlight=&amp;quot;&amp;quot; &amp;gt;&lt;br /&gt;
./gradlew android:assembleRelease&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
:Durante o proceso se nos pedirá:&lt;br /&gt;
:* A ruta e nome onde se atopa o almacén de datos. &amp;#039;&amp;#039;&amp;#039;Debemos indicar a ruta xunto có nome do almacén (incluída extensión).&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:* O password do almacén.&lt;br /&gt;
:* A nome da clave gardada (o alias).&lt;br /&gt;
:* O password da clave.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Unha vez xerado teremos o arquivo coa extensión apk no cartafol &amp;#039;&amp;#039;&amp;#039;android/build/apk&amp;#039;&amp;#039;&amp;#039; do proxecto e xa poderíamos subilo ó Appstore.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TAREFA 2.15 A FACER:&amp;#039;&amp;#039;&amp;#039; Esta parte está asociada á realización dunha tarefa.  &lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
==IOS==&lt;br /&gt;
&lt;br /&gt;
Windows: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; line enclose=&amp;quot;div&amp;quot; highlight=&amp;quot;&amp;quot; &amp;gt;&lt;br /&gt;
gradlew ios:createIPA&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Linux:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; line enclose=&amp;quot;div&amp;quot; highlight=&amp;quot;&amp;quot; &amp;gt;&lt;br /&gt;
./gradlew ios:createIPA&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unha vez xerado teremos o arquivo coa extensión IPA no cartafol &amp;#039;&amp;#039;&amp;#039;ios/build/robovm&amp;#039;&amp;#039;&amp;#039; do proxecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==HTML==&lt;br /&gt;
&lt;br /&gt;
Windows: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; line enclose=&amp;quot;div&amp;quot; highlight=&amp;quot;&amp;quot; &amp;gt;&lt;br /&gt;
gradlew html:dist&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Linux:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; line enclose=&amp;quot;div&amp;quot; highlight=&amp;quot;&amp;quot; &amp;gt;&lt;br /&gt;
./gradlew html:dist&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unha vez xerado teremos os arquivos HTML, javascript e arquivos do cartafol assets no cartafol &amp;#039;&amp;#039;&amp;#039;html/build/dist/&amp;#039;&amp;#039;&amp;#039; do proxecto. Este é o contido que hai que subir ó servidor web (por exemplo Apache).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Nova ferramenta de empaquetado==&lt;br /&gt;
&lt;br /&gt;
A partires de Maio do 2014 é posible distribuír o xogo coa máquina virtual de java &amp;#039;incrustada&amp;#039; dentro do arquivo, de tal forma que podemos xogar en computadores onde o software de java non estea instalado.&lt;br /&gt;
&lt;br /&gt;
O tamaño do arquivo aumenta considerablemente (sobre 12MB, pero depende do xogo).&lt;br /&gt;
&lt;br /&gt;
Enlace á nova: http://www.badlogicgames.com/wordpress/?p=3428&lt;br /&gt;
Enlace como usala: https://github.com/libgdx/packr&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; -- [[Usuario:angelfg|Ángel D. Fernández González]] -- (2014).&lt;/div&gt;</summary>
		<author><name>Angelfg</name></author>
	</entry>
</feed>