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 vigueur, 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 23.


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.

 

Mise à jour 16/7/2019

Août 2019, le niveau d'API cible doit être relévé de 26 à 28 (Android 9).

Disponible à partir de la version 75N# de WINDEV Mobile, mise à jour complémentaire à la version "Update 3" (240075N) :

https://blogs.pcsoft.fr/fr/mise-jour-windev-webdev-windev-mobile-disponible/281474976710824/read.awp

 

< Retour

11 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.

Cédric
12/12/2018 - 04:11 - Répondre
Bonjour, SVP comment modifier manuellement l'API target à 26 dans le manifeste de windev mobile 20?

Noel
01/02/2019 - 12:10 - Répondre
bonjour j'ai une application en windev mobile 22 mais quand je genere l'apk et que je l'installe il marche sur les version superieure telle que la version 8 mais quand je veux uploader des images pour definir des photos de profils, ils ne marche pas. et j'ai vue que la version maximale d'android acceptée par wm 22 est la version 7. je souhaite que mon app fonctionne correctement sur tous les platform superieur ou egal 8.1. que faire?

Guillaume Bayle
01/02/2019 - 13:49 - Répondre
Bonjour, il suffit de régénérer l'installation APK de votre application Android avec la version 24 de WINDEV Mobile. Elle est adaptée à toutes les évolutions et nouvelles consignes de déploiement de Google. En développement mobile, il n'est pas envisageable de "déphaser" l'environnement de développement du système. L'OS évolue bien trop vite, une ancienne version 22 ne pouvait pas connaître lors de sa création toutes les nouveautés introduites par Google ces derniers mois. Bons développements !

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


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