Cosas que no se pueden cambiar de una aplicación Android ya subida al Market

Una vez que hemos publicado nuestra aplicación Android en el Android Market hay ciertas cosas que no se pueden cambiar. Si lo hacemos, dejarán de funcionar ciertos elementos o toda nuestra aplicación. Tenemos que tener cuidado en cada actualización porque esos cambios pueden provocar que los usuarios no puedan instalarse la aplicación o les deje de funcionar inesperadamente. Como desarrolladores debemos evitar esas situaciones.

Vamos a hacer un repaso a los elementos que tenemos que asegurarnos no cambiar cuando subamos una actualización de nuestra aplicación al Android Market.

El nombre del paquete

En el manifiesto AndroidManifest.xml definimos un nombre paquete para nuestra aplicación. Ese nombre es un identificador único, ya que servirá para identificar a nuestra aplicación tanto en el Android Market como a la hora de instalar en un terminal. Para evitar conflictos de nombres se suele usar la nomenclatura del dominio de internet, habitual en los nombre de paquetes por lo general: com.google.app.android, por ejemplo.

Una vez publicada, si cambiamos el nombre provocaremos que en los resultados de búsqueda aparezca una aplicación totalmente distinta, por lo que no se podrá instalar como una actualización de la aplicación existente, si no como una totalmente nueva. Así que tendríamos dos aplicaciones que coexistan en nuestro terminal al mismo tiempo. Un grave error.

Certificado con el que firmamos la aplicación

El certificado de la firma representa al autor de la aplicación, si cambia será una aplicación diferente. Al intentar instalarla en un terminal con la versión anterior fallará hasta que sea desinstalada la anterior aplicación ya que comparte el mismo nombre de package, pero con distinta firma.

API pública del AndroidManifest.xml

Una de las funciones del AndroidManifest.xml es declarar una API pública para que el resto de aplicaciones además del propio sistema Android puedan usar algunos recursos ejecutables de la aplicación.

Así que los activities que tengamos declarados con el atributo android:export deben mantenerse inmutables, ya que con eso hemos definido que cualquier aplicación pueda invocar ese componente. Cualquier cambio podría afectar el funcionamiento de ambas aplicaciones. Si el nombre de una actividad cambia, todos los accesos directos que el usuarió visitó dejan de funcionar. Al igual que los accesos directos que tenga en el escritorio de la aplicación o los servicios que se ejecutan en segundo plano por parte del sistema.

Conclusiones

Todos estos elementos son fundamentales en el funcionamiento de una aplicación, así que debemos tener cuidado en cada actualización de no provocar que la aplicación que tengan instalada nuestros usuarios deje de funcionar. A los anteriores detalles hay que unir buenas prácticas como un buen versionado de la aplicación, marcar los cambios en el changelog cuando hagamos una nueva subida o realizar una actualización de la base de datos si cambiamos algún schema de las tablas para mantener los datos ya almacenados del usuario.

Vía | Android Developers Blog Más información | Publicar aplicaciones en el Android Market

Portada de Genbeta