~/talk

Deep dive into DEX files byte-by-byte

Talkat droidcon Berlin 2022 · 2022-07-06..07-08· [android]
links:none on file
slides:none on file

Explains DEX internals: header magic and checksums, string/type/proto/field/method tables stored as indices into shared pools, and code items holding register‑based instructions. Shows javac + d8 output and how debug builds place filenames and constructors in string and type tables. Demonstrates LEB128 encoding and that method_id.proto_idx is a 16‑bit ushort causing the 65,536 prototype limit, and how multidex classloader reflection appends secondary DEX tables to work around it.

AI-written summary · about

  1. 0:00Introduction and contest
  2. 1:17DEX file overview
  3. 9:10DEX file header structure
  4. 13:08Strings and type IDs tables
  5. 15:41Prototypes and field IDs
  6. 18:33Class definitions and encoded values
  7. 24:02Class data and executable code
  8. 28:19Exception handling in DEX
  9. 32:37The 64K problem and multidex
  10. 35:56DEX vs JAR and class files
  11. 40:27Uncovered structures and resources
  12. 41:11Q&A and closing
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.