// the find
romainguy/kotlin-explorer
Desktop tool to quickly explore disassembled Kotlin code.
A desktop tool from Romain Guy (Android/Compose engineer at Google) that takes Kotlin source and shows you the compiled output side by side: JVM bytecode, Android DEX bytecode, and OAT assembly after AOT compilation. It's for Android/Kotlin developers who want to understand what their code actually turns into under R8 optimization or AOT, not application developers looking for a library.
Three synchronized panels (source, DEX, native assembly) with line-sync and jump-instruction arrows make it genuinely useful for understanding compiler/R8 behavior, which is normally opaque. The R8 toggle is a real differentiator — you can compare naive vs. optimized output instead of guessing. Going all the way to OAT dump via a connected device/emulator means the final-stage output is real, not a simulation.
Setup friction is high: you need ANDROID_HOME, KOTLIN_HOME, java, javap on PATH, plus a device or emulator reachable via adb with oatdump on the system image just to see two of the three panels — that's a lot of environment to stand up before you get any value. Test coverage is thin: only ByteCodeParserTest exists, while DexDumpParser and OatDumpParser — the two most fragile pieces, parsing tool output across OS/toolchain versions — have no visible tests. It's a narrow, single-purpose tool for Android compiler internals, so the addressable audience is small outside that niche.