Dagger 1 - fast dependency injector for Android and Java.
ProGuard rules for Dagger 1
ProGuard removes in the optimization step unused classes, fields, and attributes and methods. After ProGuard shrinks your code, reading a code is difficult because the class names are obfuscated. Specify the following ProGuard rules in configuration file.
-keepattributes *Annotation*,EnclosingMethod -keep @interface dagger.*,javax.inject.* -keep @dagger.Module class * -keepclassmembers class * { @javax.inject.* *; @dagger.* *;(); } -keepclasseswithmembernames class * { @javax.inject.* ; } -keep class javax.inject.** { *; } -keep class **$$ModuleAdapter -keep class **$$InjectAdapter -keep class **$$StaticInjection -keep class dagger.** { *; } -keep class * extends dagger.** { *; } -keep interface dagger.** {*;} -dontwarn dagger.internal.codegen.**
For more information about Dagger 1 please see the website.