~/talk

Shrinking in the Age of Kotlin

Talkat Android Worldwide April 2023 · on Tuesday, 2023-04-25· [android]
links:none on file
slides:none on file

Shrinking Java bytecode compiled from Kotlin requires updating the embedded kotlin metadata annotation rather than treating classfiles as plain Java; otherwise reflection, compilation and IDE inspections break. A concrete solution links Java class/method entries to metadata, renames or removes corresponding metadata entries, and re-writes the annotation. Implementation uses proguard-core plus kotlinx-metadata-jvm, and an open-source metadata printer plus a Program-based writer that successfully syncs and preserves Kotlin-specific info.

AI-written summary · about

  1. 0:00Shrinking in Kotlin intro
  2. 2:52How shrinkers process Kotlin
  3. 6:07Why Kotlin needs special shrinkers
  4. 10:25Kotlin metadata structure
  5. 11:48Why Kotlin metadata matters
  6. 13:34ProGuard and Kotlin metadata
  7. 14:16Reading/modifying Kotlin metadata
  8. 19:42Metadata modification example
  9. 20:25Tools for Kotlin metadata
  10. 21:36Q&A
~/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.