QNA > C > Cos'è Un File .Dex? Cos'è Dexopt? Che Cos'è Odex? Cos'è Dexoat? Cos'è Elf? Come Funziona Tutto Questo?

Cos'è un file .dex? Cos'è dexopt? Che cos'è odex? Cos'è dexoat? Cos'è ELF? Come funziona tutto questo?

Cercherò di essere il più breve possibile

  1. Tutto il tuo codice Java nel tuo progetto Android viene compilato in file .class dal compilatore Java.
  2. Lo strumento dex (dx) converte tutti i tuoi file .class in file .dex (Dalvik byte code) in modo che possano essere confezionati in file .apk.
  3. Prima che arrivasse Android 5.0 (Lollipop), il sistema android usava uno strumento chiamato dexopt che ottimizzava i file .dex e produceva un file .odex che era simile ai file .dex originali, tranne che usava alcuni opcode ottimizzati.
  4. I file .odex e .dex sono eseguiti da Dalvik. Dalvik usa anche la compilazione JIT (just-in-time) che è stata introdotta in Android 2.2 "Froyo" per compilare le parti di codice eseguite frequentemente in codice macchina nativo che ha migliorato le prestazioni.
  5. Da Android 5.0 "Lollipop", il sistema android usa uno strumento chiamato dex2oat che converte i file .dex in file ELF che possono essere eseguiti nativamente. Quindi, invece di avere bytecode che viene interpretato da una macchina virtuale, ora ha codice nativo che può essere eseguito nativamente dal processore. Questo si chiama compilazione AOT (ahead-of-time).

Questi diagrammi ti aiuteranno a capire meglio i concetti

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

Per informazioni più approfondite, segui questi link

Android Open Source Project

Build System Overview

Dalvik (software)

Tu puoi commentare se vuoi chiedere qualcosa di più. Spero sia stato d'aiuto :)

Di Thecla

Pensi che lo smartphone LG K42 sia troppo caro? :: Cosa dovrei usare - Bootstrap o media queries?
Link utili