FAQ n°26008, publiée le 30/09/2024, mise à jour le 07/10/2024
Que faire si la génération d'une application Android qui utilise un scanner Zébra échoue avec "Could not find com.zebra.datawedgeprofileintentswrapper" ?
La génération d'une application Android, en incluant les dépendances pour un scanner Zébra, peut échouer avec le message : 

Erreur retournée :
:checkReleaseAarMetadata FAILED
FAILURE: Build completed with 2 failures.
What went wrong:
Execution failed for task ':checkReleaseAarMetadata'.
Could not resolve all files for configuration ':releaseRuntimeClasspath'.
Could not find com.zebra.datawedgeprofileintentswrapper:datawedgeprofileintentswrapper:6.7...

Ce retour apparaît si les librairies Zébra référencées dans l'assistant de génération pour utiliser le scanner d'appareils Zébra, sont trop anciennes.

Afin de permettre la génération dans ce cas, voici les actions à effectuer : 
  • vérifier que le poste de développement utilise bien au minimum la version 2024 "Update 3" (290088m) :
    https://pcsoft.fr/st/telec/windevmobile2024/windevmobile2024_88m.htm

  • cette version doit être complétée de la mise à jour 703 999 proposée dans les ressources pratiques : 
    • accéder aux ressources pratiques,
      https://pcsoft.fr/st/nouveautes-st.html

    • suivre le lien "Liste des modules correctifs disponibles de WINDEV, WEBDEV, WINDEV Mobile",

    • dans la section "version 2024" demander la mise à jour du framework Android correspondant à l'incident 703 999,
  • générer à nouveau l'application APK/AAB avec les réglages suivants dans l'assistant de génération : 
    • à l'étape "Intégration de dépendances distantes" : 
      • supprimer toutes les dépendances précédentes dont com.zebra.datawedgeprofileintentswrapper 6.7,

      • ajouter les deux suivantes (groupid / artifactId / Version) :
        com.github.ltrudu / WindevMobileDataWedgeWrapper / 7.3
        com.github.ltrudu / DataWedgeIntentWrapper / 14

      • le champ "Repositories" doit avoir "maven { url 'https://jitpack.io' }".


    • à l'étape "Configuration", la version minimale de Android pour exécuter l'application doit être au minimum "Android 7" (correspondant à un minSdkVersion à 24).

      Si cette version minimale n'est pas indiquée, l'assistant de génération va échouer à nouveau avec le retour : 
      Task :mergeReleaseResources
      Execution failed for task ':processReleaseMainManifest'.
      Manifest merger failed : uses-sdk:minSdkVersion 23 cannot be smaller than version 24 declared in library [com.github.ltrudu:WindevMobileDataWedgeWrapper:7.3]

Important : les modules Data Wedge fournis par Zebra nécessitent un niveau de compilation (API Level) au minimum à 33. Ce niveau d'API nécessite donc l'utilisation de WINDEV MOBILE 2024 pour la génération. Ce niveau d'API ne peut pas être atteint par les versions antérieures de WINDEV Mobile.


Cas particulier : si la génération reste impossible avec ce retour : 

:compileReleaseJavaWithJavac FAILED
bad class file: C:\Users\...\.gradle\caches\transforms-3\e...7\transformed\jetified-WindevMobileDataWedgeWrapper-7.3-api.jar
(/com/zebra/windevmobiledatawedgewrapper/DataWedgeWindevMobileFacade.class)
class file has wrong version 61.0, should be 56.0
...
symbol:   class DataWedgeWindevMobileFacade
location: class GWDCPCOL_DataWedge

C'est qu'une version trop ancienne du compilateur Java est installée sur le poste. Il est conseillé dans ce cas de la désinstaller. De cette manière la génération utilisera une version de Java adaptée installée en même temps que le téléchargement automatique des outils pour la génération. C'est une version 16 installée par défaut dans le dossier :
\<WINDEV Mobile 2024>\Personal\Android\OpenJDK\bin\