Casa > O > O Que É Um Arquivo .Dex? O Que É Dexopt? O Que É Odex? O Que É O Dexoat? O Que É Elf? Como Isso Tudo Funciona?

O que é um arquivo .dex? O que é dexopt? O que é odex? O que é o dexoat? O que é ELF? Como isso tudo funciona?

I'vai tentar ser o mais breve possível

  1. Todo o seu código Java no seu projeto android é compilado em arquivos .class pelo compilador Java.
  2. A ferramenta dex(dx) converte todos os seus arquivos .class em arquivos .dex(código de bytes Dalvik) para que eles possam ser empacotados em arquivos .apk.
  3. antes do Android 5.0 (Lollipop) chegar, o sistema android usava uma ferramenta chamada dexopt que usava para optimizar os ficheiros .dex e produzir um ficheiro .odex que era semelhante aos ficheiros .dex originais, excepto que usava alguns opcodes optimizados.
  4. Os ficheiros .odex e .dex são executados por Dalvik. Dalvik também usa a compilação JIT(just-in-time) que foi introduzida no Android 2.2 "Froyo" para compilar as partes de código frequentemente executadas em código de máquina nativo que melhorou a performance.
  5. Since Android 5.0 "Lollipop", o sistema android usa uma ferramenta chamada dex2oat que converte arquivos .dex em arquivos ELF que podem ser executados nativamente. Assim ao invés de ter bytecode que é interpretado por uma máquina virtual, ele agora tem código nativo que pode ser executado nativamente pelo processador. Isto é chamado de compilação AOT (ahead-of-time).

Estes diagramas irão ajudá-lo a compreender melhor os conceitos

main-qimg-bcaf3a36a055e58f72205e1ee3ffa09f.webp main-qimg-ac8082da5b52aaacd2b4b2623ae76a38.webp

Para informações mais detalhadas, siga estes links

Android Open Source Project

Build System Overview

Dalvik (software)

Você pode comentar se você quiser pedir algo mais. Esperança que ajudou :)

De Tamah

Quais são alguns dos melhores altifalantes externos da TV? :: Você acha que o smartphone LG K42 tem um preço exagerado?