Prog Android Compilando diferentes versións

De MediaWiki
Ir a la navegación Ir a la búsqueda

Introdución

Este sistema de construción de aplicacións non so nos libra de xestionar as dependencias coas librerías e jar que poidamos necesitar para construír a nosa APK, seno que tamén deixa definir dunha forma moi sinxela diferentes versións dunha mesma aplicación, aproveitando todo o que sexa común delas.


  • Un caso típico pode ser cando queremos ter unha versión dunha aplicación cun publicidade e outra sen ela.




Versións


  • Cando creamos unha aplicación, se definen unha serie de parámetros necesarios para identificala:
  • versionCode: Número integer que indica cando unha versión é máis nova que outra. O número máis alto indica versión superior. Non é o número que se amosa ao usuario cando instalan a aplicación. Cando subimos unha nova versión a Google Play, debemos de incrementar este valor.
  • versionName: Cadea que se amosa ao usuario cando instala unha nova versión da aplicación.
  • package: Nome do paquete. Este nome serve:
  • É o espazo de nome asociado á clase R, de tal forma que dita clase (Clase R) terá de nome: nome_paquete.R
  • Todas as 'activity' que se definan no 'AndroidManifiest.xml' da forma <activity android:name=".MainActivity">, terán asociado o nome do paquete para resolver o seu nome da forma: nome_paquete.MainActivity.
  • Cando se instala unha aplicación nun dispositivo móbil, débese instalar nun cartafol único, non compartido por outra aplicación. Este cartafol está representado polo nome do paquete. Este debe ser único para poder subir a aplicación a Google Play. Veremos que o identificador da aplicación pode ser sobrescrito pola variable applicationId (o veremos na sección de flavors).


  • Todos estos datos poden ir no arquivo AndroidManifiest.xml.
A versionCode e versionName non obstante se definen no arquivo build.gradle do módulo, xa que desta forma podemos ter diferentes versión da mesma aplicación e probar a executalas.



PDM versions 1.jpg
Podemos ver na imaxe o nome do paquete. O id da aplicación é collido de dito nome inicialmente, pero se garda nunha variable que pode ser cambiada independentemente do nome do paquete.




Flavors

  • Os flavors (sabores) representan cada un dos tipos de aplicacións que queremos ter.
Cando creamos un novo proxecto, créase un 'flavor por defecto' denominado defaultConfig. É neste flavor onde se garda o versionName e versionCode.



  • Máis información sobre como configurar o id da aplicación neste enlace.
  • Máis información sobre os 'Test Intrumentation Runner' neste enlace.




  • Agora que temos as configuracións creadas, como modifico eu a aplicación para que se adapte a cada unha das versións ? É dicir, imaxinemos que na de proba teño unha pantalla de publicidade que apareza ao principio...Como fago ?
Podemos aplicalo a layout´s, clases, values,....utilizando como diferencia o nome do flavor creado.
Vexamos un exemplo:





















-- Ángel D. Fernández González -- (2018).