Après chaque déploiement d'une nouvelle version de Android, Google demande à relever le niveau d'API cible "TargetSdkVersion" des applications pour les déployer dans le Play Store. Avec la sortie de Android 10, le niveau d'API imposé pour que Google autorise le déploiement doit être à 29. Cela s'applique à partir du :

  • 3 août 2020 pour les nouvelles applications,
  • 2 novembre 2020 pour les applications mises à jour.

 

Afin de générer une application avec ce niveau d'API, il faut utiliser WINDEV Mobile 25 "Update 3" (250089F) complété de la mise à jour référence 118 661. Afin d'obtenir cette mise à jour il faut :

  • accèder aux ressources pratiques du site,
  • sélectionner "Liste des modules correctifs disponibles de WINDEV, WEBDEV, WINDEV Mobile ",
  • utiliser "Demander ce module au ST" pour la référence 118 661 publiée le 20/8/2020.

 

Voici les changements qui s'appliquent aux applications :

 

1 - lorsque l'exécution se fait sous Android 10 :

 

2 - lorsque l'exécution se fait sous Android 10 et que le niveau d'API cible est en 29 :

  • Une application n'est plus autorisée à accéder à des fichiers situés sur le stockage externe, en dehors des répertoires spécifiques à cette application (fonction SysRepStockageExterne avec constantes sseApp*).
    Les accès en lecture ou en écriture à ces fichiers échoueront. Les chemins de fichiers fixés "en dur" ou construits à partir de SysRepCarteStockage ou SysRepStockageExterne avec les constantes ssePublic* ne doivent donc plus être utilisés. Cette limitation sera définitive à partir de Android 11 lorsque le niveau d'API sera relevé à 30. Avec Android 10 et le niveau d'API 29 il y a une tolérance pour l'accès à ces emplacements, ils restent donc utilisables avec la mise à jou 118 661 mais il est recommandé de prévoir les adaptations nécessaires dans les applications qui utiliseraient ces emplacements.

  • Une nouvelle permission a été mise en place dans Android 10 pour les fonctions qui permettent la localisation de l'appareil. Il s'agit de la permission ACCESS_BACKGROUND_LOCATION. Cette permission est automatiquement ajoutée lors de l'utilisation dans l'application d'une des fonctions suivantes afin de permettre son utilisation en arrière-plan : gpsInitParametre, gpsRecuperePosition, gpsSuitDeplacement, gpsEtat, gpsInfo, gpsDetectePosition, gpsDernierePosition, gpsArreteDetection, wifiInfoConnexion, wifiDetectePointAcces, RéseauMobileInfoConnexion, btListePeripherique, btleListePeripherique, CarteSuitDeplacement, beaconDetecteEnArrierePlan, beaconDetectePrecis, geoSuiviActive.
    Lorsque cette permission est ajoutée à l'application, l'utilisateur peut donc accepter l'accès à la position de l'appareil avec l'application en arrière-plan, mais il peut également limiter l'accès à la position à l'application active. L'utilisateur peut également modifier son autorisation à posteriori dans les réglages de Android :


Rappelons que 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 sans la mise à jour 118 661, d'indiquer le niveau d'API cible en 29. 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, puisque que Android appliquera des règles de sécurité à l'application qui sont différentes de celles pour lesquelles elle a été testée.

Le rôle du "TargetSdkVersion" est décrit avec davantage de précisions :

 

Synthèse du niveau/level d'API (TargetSdkVersion) indiqué dans le manifeste des applications Android en fonction de la version de WINDEV Mobile :

< Retour

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


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