A la compilation de votre code android vous trouvez l’erreur Illegal class file: Class module-info is missing a super type. Class file version 53.
Il en faut peu pour résoudre ce problème. Nous avons personnellement rencontré après la mise à jour des librairies de notre projet android et leurs migrations vers windows. La raison est que je voulais me servir de mon pc linux pour virtualiser une infrastructure réseau à l’aide de Docker afin d’automatiser les processus de traitement de code.
En revenant sur le sujet, pendant le développement , nous avons trouvé une erreur qui nous a bloqué pendant un long moment. Il s’agit de l’erreur :
Illegal class file: Class module-info is missing a super type. Class file version 53.
[bctt tweet=”Dépannage: Illegal class file: Class module-info is missing a super type. Class file version 53.” username=”tedidevblog”]
Solution temporaire
La solution de ce problème est trouvée dans le site stackoverflow.com. Il faut copier le script suivant dans votre fichier build.gradle niveau application.
debug { FirebasePerformance { // Set this flag to 'false' to disable @AddTrace annotation processing and // automatic HTTP/S network request monitoring // for a specific build variant at compile time. instrumentationEnabled false } }
Solution rapide
Cette solution vous permettra de travailler en locale si vous ne voulez pas perdre le temps. Malheureusement vous ne pourrez pas la traîner longtemps parce que pour générer l’apk vous serez bloqué et obligé de mettre le même script dans la release au risque d’empêcher firebase performance de fonctionner correctement chez vos clients.
La seconde solution est ce qu’on a tellement appliquer comme stratégie qu’on aurait pu oublier d’en parler. Il s’agit d’utiliser la dernière version de firebase qui a fonctionnée avant la mise à jour des librairies. Celà vous permettra d’avancer vite dans les tâches.
Solution complète ( Mise à jour 22/10/2020 )
Voici cette fois – ci , une solution plus complète mais pourrait mettre du temps suivant la taille de vos projets
- Pour résoudre ce problème il suffit de mettre à jour votre gradle et tous les autres librairies si possible. Notre gradle est passé à la version 6.1.1 dans le fichier gradle-wrapper.properties.
- En deuxième étape il se peut que vous trouver l’erreur suivant:
The option 'android.enableUnitTestBinaryResources' is deprecated.
The current default is 'false'.
It has been removed from the current version of the Android Gradle plugin.
The raw resource for unit test functionality is removed.
Le problème avec ce message est qu’il ne dit pas où l’on peut supprimer l’option dépréciée et encore moins induit en erreur quand on click “open file “.
L’option se trouve dans le fichier gradle.properties. Il faut juste supprimer la ligne ci – dessous pour tout remettre en ordre
android.enableUnitTestBinaryResources=true
Causes de l’erreur: Illegal class file: Class module-info is missing a super type. Class file version 53.
La migration de mes projets vers windows n’a rien avoir avec l’erreur mais tout a commencé après la mise à jour des librairies.
Comme vous l’aurez peut être deviné, l’erreur :Illegal class file: Class module-info is missing a super type. Class file version 53 vient de la librairie firebase qui s’occupe de l’analyse de la performance de votre projet. Pour le faire fonctionner, la première solution trouvée sur le site stackoverflow consistait à désactiver firebase performance. La seconde solution si vous ne voulez prendre aucun risque serait de retourner la dernière version qui a fonctionné pour votre projet.
Conclusion
Nous avons décidé de garder les précédentes solutions afin d’offrir plus de possibilité. Bonne programmation. Vous aimerez peut être [ Dépannage ] HP All-in-One Desktop PC : L’ordinateur démarre mais l’écran n’affiche rien ou Git: tutoriel pour lier son dépôt local au dépôt distant pour protéger son projet.