Keep Rules in the Age of Kotlin

    Presented by James Hamilton, Software Engineer, Guardsquare



    About this Video Webinar

    Now that Kotlin is the preferred language for Android development, using `-keep` rules can be tricky since the Kotlin code strays further from the Java-like template syntax. Kotlin also presents an additional problem: Kotlin-specific features are embedded in metadata stored as annotations to Java classes. This metadata must be kept and adapted appropriately when using reflection or Kotlin-specific features.

    Key Takeaways:

    1. We’ll show how to determine `-keep` rules for Kotlin apps & libraries through various examples with the help of the ProGuard Playground 

    2. We’ll describe how ProGuard (and R8) can process Kotlin metadata to support Kotlin specific features.

    3. We’ll also clear up any confusion about R8 replacing ProGuard as the new default shrinker for Android and what this means for ProGuard