>> Tecnologia Eletrônica >  >> Celulares e Acessórios >> Celulares Android

Ferramenta Android dx: convertendo bytecode Java para formato Dalvik Executable (DEX)

Entendendo o componente da toolchain Android dx

Android dx (frequentemente chamado dx) é uma ferramenta de build crítica que transforma bytecode Java (.class files) no formato Dalvik Executable (DEX) — o formato executável para apps Android (dentro de .apk/.aab).

Papel no processo de build

  1. Código fonte Java/Kotlin → javac/kotlinc → arquivos .class (bytecode JVM)
  2. dx (ou d8/r8 em toolchains modernos) → converte para arquivos .dex
  3. Arquivos DEX empacotados no APK/AAB

Funções principais

  • Conversão de bytecode: Traduz bytecode JVM baseado em pilha para DEX baseado em registradores.
  • Otimização: Eliminação de código morto, folding de constantes, inlining de métodos, alocação de registradores.
  • Suporte Multidex: Divide apps grandes (>64K referências de método) em múltiplos arquivos DEX.
  • Builds incrementais: Reprocessa apenas classes alteradas para iterações mais rápidas.
  • Gerenciamento de dependências: Resolve dependências de biblioteca/classpath durante a conversão.

Substituição moderna

Desde Android Gradle Plugin 3.1+, D8 (debug) e R8 (release) substituíram dx como dexer padrão, oferecendo melhor otimização, saída menor e builds mais rápidos. dx permanece para compatibilidade legada.

Desenvolvedores geralmente invocam dexing indiretamente via Gradle; uso direto de dx é raro em fluxos modernos.