Gestion des versions sous Android

 

Il existe deux types de versions que l'on pourra gérer sous androidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...):

 

Version de l'API Android

Pour connaître dans votre programme la version de l'API d'Android utilisée lors de son exécution, il faudra utiliser la constante VERSION.SDK_INT (anciennement SDK en API 4) de la classe Build.

Dans votre code, vous taperez par exemple

if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.HONEYCOMB)

...

La liste des codes versions pourra être trouvée sur le site http://developer.android.com/reference/android/os/Build.VERSION.html#CODENAME

 

Mais il est possible aussi d'indiquer à AndroidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...) avant l'exécution de votre application, la version minimale acceptée par votre application. Cette option se fait via le fichier AndroidManifest.xml.xml.

Il s'agit de l'attribut uses-sdk.minSdkVersion qui indique la version minimale du SDK exigée par votre application (donc les versions supérieures seront aussi acceptées):

<manifest xmlns:androidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...)="http://schemas.androidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...).com/apk/res/android"

package="fr.free.supertos.cnaf.hello">

<uses-sdk androidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...):minSdkVersion="10" />

[...]

 

Version de votre application

Cette fois-ci, il s'agit d'indiquer la version de notre application (plutôt intéressant si vous voulez déposer votre code sous Google Play par exemple).

androidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...):versionName est une chaîne lisible de caractères représentant le nom (Par exemple sous AndroidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...), chaque version à un nom de code) ou le numéro de version de votre application.
androidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...):versionCode est un entier représentant le numéro de version de l’application. C'est lui le plus important pour différencier les différentes versions de votre application.

C'est toujours le fichier AndroidManifest.xml.xml qui contient ces informations, par exemple pour mon application Hello:

<manifest xmlns:androidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...)="http://schemas.androidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...).com/apk/res/android"
package="fr.free.supertos.cnaf.hello"
androidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...):versionCode="1"
androidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...):versionName="Hello V1.0" >

[...]