Sobre el proyecto

jadx es un descompilador de Dex a Java de código abierto distribuido bajo la licencia Apache 2.0. Proporciona herramientas tanto de línea de comandos como GUI para producir código fuente Java a partir de archivos Dex y APK de Android. Capacidades principales: - Descompilar bytecode Dalvik a código Java desde archivos APK, dex, aar, aab y zip. - Decodificar AndroidManifest.xml y otros recursos desde resources.arsc. - Incluye un desofuscador con límites configurables de longitud de nombre, listas blancas y soporte de archivos de mapeo (Tiny, Tiny v2, Enigma, ProGuard, SRG, XSRG, JAM, CSRG, TSRG, TSRG 2, mapa de migración de IntelliJ, Recaf simple, JOBF). La interfaz jadx-gui ofrece código descompilado con resaltado de sintaxis, salto a declaración, búsqueda de uso, búsqueda de texto completo y un depurador smali. Las combinaciones de teclas y una descripción general de las características se documentan en la wiki del proyecto. Las opciones de instalación incluyen archivos de lanzamiento desde GitHub, compilaciones inestables nocturnas, paquetes de Arch Linux (extra y AUR), Homebrew para macOS y Flathub. Se requiere Java 11 o posterior de 64 bits para ejecutar las herramientas. jadx también se puede usar como una biblioteca en proyectos Java y se puede compilar desde el código fuente con JDK 17 o superior usando Gradle. La herramienta de línea de comandos acepta muchas opciones que cubren directorios de salida, modos de descompilación (auto, reestructurar, simple, fallback), decodificación de recursos, recuento de hilos, exportación de proyectos Gradle, configuraciones de desofuscación, indicadores de renombrado, formato de enteros, exportación de grafos de flujo de control y grafos de llamadas, niveles de registro y archivos de configuración. Un comando de plugins admite la instalación, listado, actualización, habilitación y deshabilitación de plugins, con plugins incluidos para entrada dex, conversión de Java, metadatos de Kotlin, Kotlin SMAP, mapeos de renombrado y entrada smali. Las variables de entorno permiten personalizar directorios de configuración, caché y temporales, y ajustar las comprobaciones de seguridad de XML/zip y los límites de entradas zip. El README señala que jadx no puede descompilar todo el código en todos los casos, por lo que pueden ocurrir errores, y apunta a una guía de solución de problemas en la wiki.