A Practical Guide to Obfuscation

Obfuscation is an important technique for improving the security and performance of Android applications. However, don't you find there is an unbalanced know-how within your team, with obfuscation configuration depending on some members with specific knowledge? In this session, I will explain how to obfuscate code in Android application development, from the basics to advanced applications, and share practical ways to share obfuscation know-how within a team. This is a must-attend session for those who want to solve the problem of obfuscation knowledge being left to some specific members, or catch up on peripheral knowledge in Android app development and aim for another level of growth as a mobile engineer. Here are the specifics of what I plan to cover in this session - What is obfuscation? - Why is obfuscation necessary? - History of obfuscation and tools - Difference between ProGuard and R8 - Specific usage and how to set it up - How to exclude certain classes and methods from obfuscation - How to setup to exclude specific classes and interfaces from obfuscation - How to exclude specific annotations from obfuscation - How to obfuscate packages - How to support specific libraries and frameworks - Learn about common symbols in the ProGuard configuration - Reference of obfuscation techniques when in trouble - I can't find the setting I want to use! - With obfuscation or without it? What to do when having troubles during build configuration - How to obfuscate when publishing a library? - How to prevent depending on some particular members for obfuscation know-how - Why does obfuscation know-how tend to depend on some particular members? - What can we do to prevent it? (Translated by the DroidKaigi Committee)

  • みっちゃん STORES inc. , Android developer

View slides

Summary

  • Dates 2024.09.13 / 17:20 ~ 18:00 (40min)
  • Place Hedgehog
  • Language Japanese (English interpretation available)

Intended audience

- Those who would like to learn more about obfuscation - Teams whose obfuscation know-how is dependent on some members - Beginner to intermediate level engineers who want to catch up with the peripheral knowledge required for app development and aim for another step up as mobile engineers

Android is a trademark of Google LLC. The Android robot is reproduced or modified from work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License. Android, Google Play and the Google Play logo are trademarks of Google LLC.
Past DroidKaigi

© 2014- DroidKaigi Committee