Versión de la aplicación

Es muy posible que la aplicación que desarrolles vaya actualizándose con nuevas versiones que corrijan defectos de las anteriores o aporten nuevas funcionalidades. Para que el usuario que tenga instalada la aplicación en su dispositivo Android pueda conocer que se ha publicado una nueva versión de la aplicación, debes ir asignando una numeración a cada versión publicada.

Las versiones en las aplcaciones Android se rigen por dos valores: Version code y Version name. El primero de ellos debe ser un número consecutivo, es decir, que la primera versión será la 1, la siguiente la 2, etc. El nombre de versión puede indicarse de cualquier manera, aunque lo habitual es usar dos o tres números separados por puntos, indicando el primero de ellos el número principal de versión (que cambia cuando hay cambios importantes en la aplicación, como un cambio completo de su interfaz), el segundo puede ser la subversión (con cambios menos importantes en la aplicación, como alguna nueva funcionalidad) y el tercero el número de compilación (para arreglos de pequeños errores, por ejemplo).

Estos dos datos se indican en las aplicaciones Android en el archivo AndroidManifest.xml, con los atributos android:versionCodeandroid:versionName

Filtrado de usuarios potenciales

Cuando se publica una aplicación, ésta será visible en principio para todo el mundo que visite el repositorio en el que se publique, y podrá instalarla en su dispositivo Android sin tener en cuenta si dispone de las características necesarias para ejecutar la aplicación. Por ejemplo, es posible que hayas desarrollado una aplicación que requiera el uso de Bluetooth, y si lo instala una persona cuyo dispositivo no dispone de esa característica, puede que haga comentarios negativos hacia tu aplicación ya que no la podrá utilizar.

Por ello es conveniente que indiques en tu aplicación los requisitos funcionales que tiene, para que sólo pueda ser instalado en dispositivos adecuados, y no aparezca, por ejemplo, en el repositorio de aplicaciones Google Play a los usuarios que no tengan dispositivos compatibles.

Por tanto, debes indicar y verificar tres aspectos en tu aplicación dentro del archivo AndroidManifest.xml, antes de publicar la aplicación. 

  • SDK version: Usando la etiqueta uses-sdk debes especificar la versión mínima del SDK (versión de Android) que debe disponer el dispositivo para que pueda ejecutar la aplicación, con el atributo android:minSdkVersion. Además puedes indicar la versión a la que va dirigida principalmente, usando el atributo android:targetSdkVersion. Esa versión será la que hayas utilizado para desarrollar la aplicación, por lo que la aplicación no debería tener problemas de ejecución en dispositivos con esa versión y anteriores (hasta la mínima indicada). También es posible indicar una versión máxima de SDK, aunque suele ser menos frecuente, con el atributo android:maxSdkVersion.
  • Uses Configuration: Permite indicar si la aplicación requiere el uso de pantalla táctil, el tipo de teclado, o el modo de navegación por la pantalla.
  • Uses Feature: Ahí puedes indicar las características que debe disponer el dispositivo para poder ejecutar adecuadamente la aplicación. Las características deben indicarse con un descriptor declarado por Android en la Features Reference. Por ejemplo: android.hardware.bluetooth, android.hardware.camera, android.hardware.location.gps, android.hardware.wifi, etc.
  • Supports Screen: Describe las características que deben tener las pantallas de los dispositivos que quieran instalar la aplicación.

Exportar la aplicación firmada digitalmente

Para poder publicar la aplicación en la Play Store de Google, previamente debe generarse el archivo compilado ejecutable con la extensión APK que debe ser firmado digitalmente.

Para ello, una vez que la aplicación está suficientemente desarrollada y se considera que ya no está en proceso de depuración, se debe indicar al proyecto que pasa de la fase de depuración (debug) a la fase de lanzamiento (release). Si no se realiza este paso, en el momento de intentar publicar la aplicación obtendrás un mensaje informando sobre ese problema:

apk1403

El cambio de estado del proyecto se puede hacer fácilmente desde la pestaña Build Variants que puedes encontrar en el margen izquierdo de Android Studio.

apk1401

Para asegurarte de que vas a publicar la última compilación del proyecto conviene realizar una reconstrucción completa del proyecto desde el menú Build > Rebuil Project.

apk1402

En el mismo menú anterior puedes ver la última opción: Generate Signed APK. Esa opción será la que debas usar ahora para generar el archivo compilado y firmado.

Al usar esa opción, aparecerá un mensaje de aviso sobre la configuración que debe establecerse cuando se utiliza la herramienta Gradle para realizar la compilación. No debes preocuparte por esa información, ya que los pasos siguientes permitan realizarlo de manera gráfica.

apk1404

La ventana de diálogo que se mostrará te permitirá configurar la firma digital para la aplicación. Este tipo de firmas se almacenan en un archivo que hace las funciones de almacén de contraseñas (key store).

apk1405

En el primer campo deberás indicar el archivo que contiene tu almacén de contraseñas, o bien crear uno nuevo usando el botón Create new.

apk1406

Al terminar de establecer la firma para la aplicación, deberás indicar la ruta en la que deseas generar el archivo APK, y si lo deseas, ejecutar la herramienta ProGuard que permite ofuscar el código fuente de la aplicación.

apk1407

Si todo se ha realizado correctamente, podrás encontrar el archivo APK en la carpeta del módulo creado en el proyecto. Ese es el archivo que debes utilizar durante el proceso de publicación.