Pourquoi convertir CLASS en DEX ?
DEX (Dalvik Executable) est le format de bytecode d'Android pour l'environnement d'exécution ART, tandis que les fichiers .class sont du bytecode JVM pour Java de bureau - les deux jeux d'instructions sont différents et non interchangeables. Une application Android exécutable nécessite un APK avec un manifeste, des ressources et des références au framework Android qu'un fichier .class autonome ne fournit pas.
Comment convertir CLASS en DEX
Android Studio FREE
Démarrez un projet Android, ajoutez votre source Java (fichiers .java) au projet et compilez - le plugin Gradle pour Android compile la source et exécute d8 automatiquement pour produire un APK valide.
JD-GUI OPEN-SOURCE
Si vous n'avez que des fichiers .class, décompilez-les d'abord en .java en utilisant « Fichier > Enregistrer toutes les sources » de JD-GUI, puis ajoutez cette source à un projet Android Studio et compilez.
À propos de ces formats
Un fichier CLASS est du bytecode Java compilé - le résultat produit par javac à partir d'un fichier source .java. Pour l'exécuter, vous devez avoir installé Java (un JDK), puis utiliser la…
Ouvrir les détails de .CLASS →Un fichier DEX est du code d'application Android compilé - le Dalvik Executable que l'environnement d'exécution d'Android (ART) exécute. Il réside normalement à l'intérieur d'un APK sous le…
Ouvrir les détails de .DEX →Qualité et points de vigilance
- Les fichiers
.classsont du bytecode JVM pour la machine virtuelle Java de bureau ; DEX est un jeu d'instructions différent pour l'environnement d'exécution ART d'Android - les deux ne sont pas interchangeables. d8 MyClass.classs'exécute sans erreur mais la sortie DEX manque de structure APK, de manifeste et de références au framework Android, et ne peut pas être installée sur Android.- Android Studio accepte les fichiers JAR standard comme dépendances - le système de construction gère automatiquement toute étape class-to-DEX lors de la création de l'APK.
Foire aux questions
Puis-je utiliser d8 directement pour convertir un .class en DEX ?
Existe-t-il un outil en ligne qui convertit CLASS en DEX ?
J'ai un JAR, pas un .class - cela change-t-il quelque chose ?
.class ; une application Android exécutable nécessite toujours une compilation complète via Android Studio.