10 juillet 2018
publié par 

Lors de la compilation d'une application Android (APK), il y a trois versions à prendre en compte :

  • la version de compilation,
  • la version minimale d'exécution,
  • et la version cible.

Voici le détail sur chacune de ces versions.

 

La version minimale d'exécution (minSdkVersion)

Il s'agit de la plus ancienne version de Android capable d'installer et d'exécuter l'application.

Par exemple, si l'application utilise une version minimale Android 6.0, elle ne pourra pas être installée sur un appareil Android 5.0. Elle ne sera également pas proposée sur le Play Store de cet appareil si elle a été publiée. En revanche elle pourra être installée sur un appareil en version 8.1.

Par défaut la version minimale d'exécution des applications Android générées avec WinDev Mobile est la version 4.0. Il est conseillé de conserver cette version minimale, sauf si l'application utilise une fonctionnalité disponible uniquement dans une version de Android plus récente. Par exemple les fonctions Beacon sont disponibles à partir de Android 4.3. Si l'application a besoin de ces fonctions, il faut fixer la version minimale d'exécution à 4.3.

 

La version de compilation (compileSdkVersion)

Il s'agit de la version du SDK Android utilisée pour compiler l'application. Elle permet de définir la version des API attendue par l'application mais ne présage pas de la version qui sera effectivement disponible en exécution. Si l'application contient du code Java natif qui nécessite un appel d'API disponible uniquement dans une version du SDK Android supérieure à la version minimale d'exécution, il est nécessaire de "protéger" ce code en testant le numéro de version courant de Android pour éviter une erreur à l'exécution. Pour connaitre la version de Android à l'exécution :

La version cible (targetSdkVersion)

Il s'agit de la version de Android avec laquelle l'application a été développée et testée. Lors de l'exécution de l'application, ce numéro de version est utilisé par le système pour déterminer s'il faut activer les comportements de compatibilité ascendante et modifier si nécessaire la manière dont votre application est stylisée ou exécutée. En effet Android évolue à chaque nouvelle version et certains comportements et même apparences peuvent changer. Toutefois, si la version courante de Android à l'exécution est supérieure à la version cible de votre application, le système peut activer des comportements de compatibilité pour garantir que votre application continue de fonctionner comme prévu. Bien sûr l'application est toujours capable de fonctionner sur des versions plus anciennes.

Par exemple, à partir de la version 6.0 de Android le système supporte la demande de permissions à l'exécution (pour les permissions « dangereuses » comme l'accès aux contact, sms, caméra, ...). Si l'application cible une version supérieure à 6.0, le système considérera que l'application sait gérer le refus de la permission par l'utilisateur et activera donc la demande de permissions à l'exécution. Dans le cas contraire, le système appliquera le comportement par compatibilité, et la permission sera automatiquement accordée si elle a été déclarée dans le manifeste.


La version cible des applications Android générées avec WinDev Mobile correspond à la version 8 de Android (depuis la version 23 Update 3). Il s'agit de la version maximale pour laquelle la compatibilité du Framework Android de WinDev Mobile est garantie. Il n'est pas conseillé de modifier ce numéro de version.


Attention, à partir d'Août 2018, Google impose que toutes les applications publiées sur Google Play cible une version de Android supérieure ou égale à la version 8.0 (api level 26). Pour les applications déjà publiées devant être mise à jour, la date butoir est fixée à Novembre 2018. Ce point a été abordé dans un précédent billet "Août 2018, Google demande de relever le niveau d'API...".


Pour en savoir plus sur ce sujet :

https://developer.android.com/guide/topics/manifest/uses-sdk-element

< Retour

Publier un commentaire : 
Votre adresse email ne sera pas publiée