Outil Android dx : Conversion Bytecode Java vers Format Dalvik Executable (DEX)
Comprendre le Composant Chaîne Build Android dx
Android dx (souvent appelé dx) est un outil build critique qui transforme le bytecode Java (.class fichiers) en format Dalvik Executable (DEX) — format exécutable apps Android (dans .apk/.aab).
Rôle dans Processus Build
- Source Java/Kotlin →
javac/kotlinc→ fichiers.class(bytecode JVM) dx(oud8/r8toolchains modernes) → convertit en fichiers.dex- Fichiers DEX packagés dans APK/AAB
Fonctions Clés
- Conversion Bytecode : Traduit bytecode JVM stack-based vers DEX register-based.
- Optimisation : Élimination code mort, pliage constantes, inlining méthodes, allocation registres.
- Support Multidex : Divise grosses apps (>64K références méthodes) en plusieurs fichiers DEX.
- Builds Incrémentiels : Retraite seulement classes modifiées pour itérations plus rapides.
- Gestion Dépendances : Résout dépendances bibliothèque/classpath pendant conversion.
Remplacement Moderne
Depuis Android Gradle Plugin 3.1+, D8 (debug) et R8 (release) ont remplacé dx comme dexer par défaut, offrant meilleure optimisation, sortie plus petite, builds plus rapides. dx reste pour compatibilité legacy.
Développeurs invoquent typiquement dexing indirectement via Gradle ; usage direct dx rare workflows modernes.
