lunes, 11 de junio de 2012

21.0.Programación en android-Copia el keystore


21.0.- Programación en Android – Copia el “keystore”

Recientemente, actualizando una versión del “Motodev Studio” perdí el archivo para firmar aplicaciones, la clave de firma. “Bueno... no pasa nada” pensé, “Hago otro con los mismos datos y listo”... ya... entonces hago otra clave de firma, la relleno con los mismos datos y firmo la aplicación, hasta ahí todo bien. Me voy al market de android (ahora Play), e intento subir la aplicación que se está desarrollando en este blog, resultado: Error, “La aplicación no ha sido firmada con la misma clave que la anterior”, o algo así me contesta el market.
Primera consecuencia: que no puedo actualizar la aplicación, con el resultado de que la gente que ya la tenía instalada previamente tampoco podrá actualizarla. En este caso, como no es una aplicación “seria” o comercial por así decirlo, pues tampoco supone mayor problema, salvo por la incomodidad para los usuarios de tener que desinstalar manualmente la versión anterior y buscar por la nueva en el market.

Entonces creo una nueva clave de firma (de la que he realizado copia en 20.000 sitios), y procedo a subir la aplicación, le cambio el nombre y ala … digo yo... ¡pues no!. El market me dice que ya tengo una aplicación con ese nombre de paquete (el package), así que la actualize. Cosa que evidentemente no puedo hacer por haber perdido la anterior clave de firma.

Segunda consecuencia: Tener que editar el código y cambiar el nombre del package de nuestra aplicación, con lo que ello conlleva, a saber: Si algún método utiliza el nombre del paquete para acceder a algún recurso (como es en nuestro caso), debemos cambiarlo también y que no se nos quede atrás, ya que no nos dará error el programa al compilarlo, pero sí al ejecutarlo.

En definitiva, que os recomiendo por vuestra salud que hagáis una copia del archivo de claves.

Realizar una copia del fichero de claves.
En el caso de que utilicéis el “Motodev Studio”, dicho fichero se encuentra con el nombre de “motodev.keystore”, en los siguientes directorios:

Windows 7
c:\users\<nombre de usuario>\motodevstudio\tools
Windows XP
c:\documents and settings\<nombre de usuario>\motodevstudio\tools
Mac OS
/Users/<nombre de usuario>/motodevstudio/tools - o -
~/motodevstudio/tools
Linux
/home/<nombre de usuario>/motodevstudio/tools - o -
~/motodevstudio/tools

En caso de que utilicéis otro IDE, o el plug-in de ADT, entonces el vuestro fichero estará en dónde se lo halláis indicado, pero en caso de que no lo sepáis podéis comenzar la búsqueda dentro de la carpeta .android o en la carpeta dónde tengáis el SDK instalado.
En caso de que os ocurra el desastre, bastará con que recuperéis el fichero a la carpeta en dónde se hallaba, en caso de utilizar el ADT. En el caso de utilizar el sistema de firmado del Motodev Studio, entonces tendremos que importar la clave (Import Keystore – o – Importar fichero de claves), elegir el fichero, poner la clave que le hallamos introducido y en tipo de almacenamiento elegir “JCEKS” (Java Cryptography Extension Key Store).

Espero que esto os sirva de ayuda y que no os pase lo que a mi.



Ver. 1.0 – Revisión 11/06/2012

No hay comentarios:

Publicar un comentario