En un tutorial anterior vimos cómo se puede preparar nuestra aplicación para subirla al Play de Google.
Lo vimos mediante los menús de B4A y mediante el programa AppToMarket.
Ahora vamos a ver todo el proceso de preparar la aplicación para subirla al Play de Google mediante comandos.
ApkTool: compila y descompila el archivo a.pk
keytool: crea un archivo de clave.
jarsingning: firma nuestra aplicación con el archivo de clave anterior.
zipaligning: adapta y comprime nuestra aplicación para que ocupe menos memoria RAM.
_______________________________________________
1.- ApkTool.
- ApkTool es una herramienta con la que podemos compilar y descompilar archivos apk.
- Funciona en el Simbolo de sistema o Terminal.
1.- Lo bajamos y lo descomprimimos en una carpeta. Obtendremos un archivo de la forma apktool.jar.
http://code.google.com/p/android-apktool/ (2,5 MB).
2.- Pegamos en la carpeta donde tenemos el apktool.jar un archivo apk, en el ejemplo Adivina.apk.
Hacemos una copia de seguridad del Adivina.apk
3.- Vamos al Terminal, nos situamos en la carpeta donde tenemos el apktool y escribimos...
apktool d -s Adivina.apk
C:\Users\juan> CD C:\Android\apktool1.5.2\apktool1.5.2
C:\Android\apktool1.5.2\apktool1.5.2> apktool d -s Adivina.apk |
Obtendremos la carpeta Adivina, en donde se encontrará los archivos que componen la aplicación.
4.- En Adivina\res\drawable, encontraremos el icono de la aplicación llamado ya.png.
Podemos cambiar el icono, pero debe seguir llamándose con el nombre que tiene. Además debe tener unas dimensiones de 48 x 48 y ser de tipo png.
También podemos ver el archivo AndroidManifest.xml, que podremos cambiar si nos interesa, por ejemplo la versión.
5.- Si hemos cambiado algo y queremos volver a compilar la aplicación escribiremos
apktool b Adivina
Siendo Adivina, el nombre de la carpeta que hemos descompilado anteriormente.
C:\Android\apktool1.5.2\apktool1.5.2> apktool b Adivina |
_______________________________________________
2.- keytool. Establecer una clave
Mediante la herramienta keytool de JAVA que se encuentra en la carpeta...
C:\Archivos de programa (x86)\Java\jdk1.7.0_17\bin
podemos crear un archivo de clave para nuestra aplicación.
La síntaxis es:
keytool -genkey -alias adivinanza -keypass juan123 -keystore archivo.clave -storepass juan987
Hay que tener en cuenta el PATH, es decir controlar bien la dirección del archivo keytool que está en la carpeta de JAVA y el lugar donde se va a guardar el archivo de clave, en este caso el archivo.clave.
En mi caso lo he puesto de esta manera...
C:\Android\apktool1.5.2\apktool1.5.2>
"C:\Program Files (x86)\Java\jdk1.7.0_17\bin\keytool" -genkey -alias adivinanza -keypass juan123 -keystore archivo.clave -storepass juan987
Durante el proceso hace una serie de preguntas, Nombre, apellido, organización, estado, provincia, clave de estado, ponemos cualquier cosa y al final pulsamos y (yes) o s (si)
En la carpeta C:\Android\apktool1.5.2\apktool1.5.2, se habrá creado un archivo llamado archivo.clave
Más información sobre estos comandos.
______________________________________________
3.- jarsigner. Firmar una aplicación. Signing
Una vez que tenemos realizada nuestra aplicación debemos firmarla (signing) para subirla al Play de Google.
El archivo de firma lo debemos guardar, ya que si subimos nuestra aplicación y al cabo del tiempo queremos actualizar esa misma aplicación con otra versión, debemos poner la misma firma (signing).
Para firmar nuestra aplicación podemos utilizar el programa AppToMarket visto en un tutorial anterior.
Pero también lo podemos hacer mediante la herramienta jarsigner.
Consultamos estos tutoriales:
- Signing your applications.
- jarsigner.
jarsingner es un archivo que debe estar en la carpeta donde está instalado JAVA, en mi caso...
C:\Program Files (x86)\Java\jdk1.7.0_17\bin
C:\Android\apktool1.5.2\apktool1.5.2>
"C:\Program Files (x86)\Java\jdk1.7.0_17\bin\jarsigner" -verbose -keystore C:\Android\apktool1.5.2\apktool1.5.2\archivo.clave
C:\Android\apktool1.5.2\apktool1.5.2\Adivina.apk adivinanza
Enter Passphrase for keystore: juan987
Enter key password for adivinanza: juan123
Fíjate que ha añadido al archivo .apk, una carpeta llamada META-INF con dos archivos de claves, además ha firmado el icono ya.png y el archivo AndroidManistest.xml
Se suele verificar si la firma es correcta mediante esta orden
jarsigner -verify -verbose -certs Adivina.apk
______________________________________________
4.- Zipaligning
Después de firmar la aplicación debemos hacerle un zipaligning que optimizará la aplicación y reducirá la memoria RAM que va a consumir.
zipalign es del SDK, en mi caso se encuentra en...
C:\Android\android-sdk\tools
zipalign -v 4 Adivina.apk Adivina_zipaliagning.apk
El archivo Adivina_zipaliagning.apk será el que debemos subir al Play de Google.
Podemos renombrarlo como Adivina.apk