The Developers' Bakery

ProGuard with James Hamilton


Listen Later

If you ever shipped an Android App to production, you probably know about ProGuard, a tool to optimize, shrink and obfuscate your Java/Kotlin code.

Today we have James Hamilton on stage, to tell us about how it works internally and why you should never forget to enable it in your builds.

If you’re wondering what are the differences between ProGuard, DexGuard and R8, make sure to don’t miss this episode!

Enjoy the show 👨‍🍳

Show Notes
  • 00.11 Intro
  • 00.57 Episode Start
  • 01.31 James’s Introduction
  • 02.52 What is ProGuard?
  • 04.07 What is DexGuard?
  • 05.44 Is ProGuard obfuscation secure enough?
  • 06.58 Who is using DexGuard?
  • 08.23 ProGuard vs ProGuard-code
  • 10.31 ProGuard vs R8
  • 13.46 How is the obfuscation working?
  • 15.42 Obfuscation and 3rd party libraries
  • 16.49 Deobfuscation
  • 18.03 Shrinking and Tree shaking
  • 19.02 How much space is ProGuard making us save?
  • 20.04 ProGuard & Reflection
  • 21.38 ProGuard and Runtime optimizations
  • 23.48 ProGuard Rules
  • 25.56 ProGuard Configuration Debugging
  • 27.17 ProGuard Playground
  • 28.19 Which language is used for Rules?
  • 29.20 Beyond Android
  • 30.46 Obfuscating Kotlin vs Java
  • 37.06 Kotlin Metadata and Playground
  • 38.19 Who is developing ProGuard?
  • 40.01 Which type of contributions do you normally receive?
  • 41.05 What’s up next in the future of ProGuard?
  • 43.33 Further reading
  • 44.40 Where to find James online?
  • Resources
    • Guardsquare/proguard on Github
    • Guardsquare/proguard-core on Github
    • ProGuard Official Website
    • Mentioned Resources:
      • ProGuard Playground
      • ProGuard Core Manual
      • ProGuard Gradle Plugin
      • Guardsquare Community
      • AppSweep
      • ProGuard 20th Anniversary
      • Keep Rules in the Age of Kotlin - Droidcon London 2021
      • Relevant Blogposts:
        • Keep Rules in the Age of Kotlin
        • Building a Log4Shell detector with ProGuardCORE
        • More in-depth blog about data flow analysis with ProGuardCORE
        • @mrjameshamilton on Github
        • @jag_hamilton on Twitter
        • James’ website
        • Show links
          • Podcast Website
          • The Developers’ Bakery on Spotify
          • The Developers’ Bakery on Apple Podcasts
          • The Developers’ Bakery on Google Podcasts
          • @thebakerydev on Twitter
          • @cortinico on Twitter
          • ...more
            View all episodesView all episodes
            Download on the App Store

            The Developers' BakeryBy Nicola Corti


            More shows like The Developers' Bakery

            View all
            Decoder with Nilay Patel by The Verge

            Decoder with Nilay Patel

            3,143 Listeners