13 lines
881 B
Markdown
13 lines
881 B
Markdown
# android-proguard-example
|
|
|
|
Example Android project showing how to properly configure [ProGuard](https://www.guardsquare.com/proguard).
|
|
ProGuard is a tool for 'shrinking' and obfuscating compiled classes. It can rename methods and fields,
|
|
or remove them if they appear to be unused. This can cause issues for Gson which uses Java reflection to
|
|
access the fields of a class. It is necessary to configure ProGuard to make sure that Gson works correctly.
|
|
|
|
Also have a look at the [ProGuard manual](https://www.guardsquare.com/manual/configuration/usage#keepoverview)
|
|
for more details on how ProGuard can be configured.
|
|
|
|
The R8 code shrinker uses the same rule format as ProGuard, but there are differences between these two
|
|
tools. Have a look at R8's Compatibility FAQ, and especially at the [Gson section](https://r8.googlesource.com/r8/+/refs/heads/main/compatibility-faq.md#gson).
|