Lors de la compilation d'une application pour Android, l'APK généré inclus un niveau d'API cible "TargetSdkVersion" du SDK Android. Avec ce niveau d'API cible le système Android détermine les fonctionnalités dont peut disposer l'application, et les règles de sécurité qui doivent lui être appliquées.

 

Dans le cas d'une application générée par WINDEV Mobile, le niveau d'API cible est déterminé en fonction des spécifications de Google en vigeur, lors de la sortie de la version de WINDEV Mobile utilisée :

  • WINDEV Mobile 21 indiquait en son temps un "TargetSdkVersion" 14 (Android 4),
  • ensuite WINDEV Mobile 22 ou 23 jusqu'à la version "Update 2" indiquaient un "TargetSdkVersion" 24 (Android 7),
  • à partir de la version "Update 3" de WINDEV Mobile 23, le "TargetSdkVersion" passera à 26 (Android 8).

 

En effet Google impose ce niveau d'API cible pour le déploiement d'applications dans Google Play Store à partir de août 2018. Cela rappelle l'importance de toujours garder un environnement de développement à jour pour le développement mobile !

 

Pour répondre à cette demande de Google, il faudra donc uniquement recompiler l'application avec la version "Update 3" de WINDEV Mobile.


Il faut souligner que chaque évolution du SDK Android apporte son lot d'évolutions et de changements. Notamment en matière de sécurité, il est fréquent d'une API ou qu'un champ natif devienne obsolète et nécessite une réécriture complète. Dans le cas de ce changement précis, il y aura par exemple une baisse de fréquence des notifications reçues par les applications en arrière-plan pour la géolocalisation, au profit de la batterie.

Grâce au Framework Android de WINDEV Mobile, ces changements sont automatiquement pris en compte, du moment qu'ils sont documentés ou prévisibles. Cela permet de ne pas avoir à modifier le source ou l'IHM des applications WINDEV Mobile, pour profiter d'un "TargetSdkVersion" supérieure. La recompilation de l'APK avec un framework WINDEV Mobile à jour suffit !

 

Le niveau d'API cible "TargetSdkVersion" attribué à une application est visible dans l'assistant de génération de l'APK :

  • à l'étape "Configuration" de l'assistant de génération, utiliser "Configuration avancée",
  • dans la fenêtre "Configuration avancée", utiliser "Editer le manifeste",
  • dérouler le nœud "uses-sdk",
  • l'entrée "android:targetSdkVersion" montre le niveau d'API cible. Il est d'ailleurs modifiable. Il est donc possible dans une application WINDEV Mobile générée par une version antérieure à la 23 "Update 3", d'indiquer le niveau d'API cible en 26. Mais dans ce cas l'application n'aura pas un framework adapté aux spécificités de ce niveau d'API. Il s'agit donc d'une solution fortement déconseillée.

 

Ce niveau d'API cible ne doit pas être confondu avec la version minimale de Android autorisée pour exécuter l'application. Cette version minimale est également fixée dans l'assistant de génération des APK Android. Google demande à ce que les applications aient le niveau d'API cible à 26 de Android 8, obligatoire pour améliorer la sécurité globale. Mais les applications générées avec le niveau d'API à 26 pourront toujours si besoin avoir Android 4 comme version minimale pour l'exécution.

 

< Retour

8 commentaires

SCHAAL François
18/05/2018 - 15:47 - Répondre
Bonjour, Est-ce que les APK générés avec une version WM 22 ou antérieure ne pourront plus être déployés dans le store ?

Guillaume Bayle
18/05/2018 - 16:22 - Répondre
Bonjour, Si vous modifiez le TargetSDKVersion du manifest de votre application WINDEV Mobile 22 comme décrit dans ce billet, le déploiement sera accepté. Vous n'êtes jamais bloqué avec WINDEV Mobile ! Mais c'est bien naturellement déconseillé, puisque le Framework Android de WINDEV Mobile 22 a été compilé avec des spécifications d'API qui ont pu être changées entre temps. N'hésitez pas à me recontacter au support si vous avez besoin de plus de précisions sur ce point.

ManSofTel
03/07/2018 - 17:24 - Répondre
Comment faire pour résoudre ce problème pour celui qui utilise WM20 ?

Guillaume Bayle
04/07/2018 - 10:23 - Répondre
Bonjour, vous pouvez tenter une édition du targetSdkVersion du manifest. Mais c'est très fortement déconseillé avec un tel écart de version. Android a énormément évolué en 3 ans, techniquement il n'est raisonnablement pas envisageable de conserver un environnement aussi ancien si vous voulez que vos applications restent adaptées aux périphériques actuels.

ManSofTel
10/07/2018 - 10:12 - Répondre
J'ai essayé de faire comme demander mais l'application ne démarre plus sur le terminal android

Guillaume BAYLE
10/07/2018 - 11:28 - Répondre
Bonjour, je vous conseille de faire une demande depuis WINDEV Mobile : Accueil / Aide / requête au support technique. Cela permettra de vous orienter dans votre cas d'utilisation bien précis.

youssf kanfouh
02/08/2018 - 13:16 - Répondre
Salut Pouvez-vous m'aider si je veux télécharger une application sur google play console ce message? Votre application cible actuellement le niveau d'API 23. Cependant, elle doit cibler le niveau d'API 26 au minimum afin de bénéficier des derniers API, qui sont optimisés au niveau de la sécurité et des performances. Définissez le niveau d'API cible de votre application sur 26 au minimum.

HAMEL Loic
02/08/2018 - 14:09 - Répondre
Bonjour, je vous conseille de faire une demande depuis WINDEV Mobile : Accueil / Aide / requête au support technique. Cela permettra de vous orienter dans votre cas d'utilisation bien précis.

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


© 2018 PC SOFT. Tous droits réservés. Réalisé  avec WEBDEV