build.gradle:
compile 'com.squareup.dagger:dagger:1.2.1@jar'
compile 'com.squareup.dagger:dagger-compiler:1.2.1@jar'
compile 'com.squareup:javawriter:2.2.1@jar'
proguard configuration:
proguardFile getDefaultDexGuardFile('dexguard-release.pro')
proguardFile 'dexguard-project.txt'
proguardFile 'dexguard-project-debug.txt'
dexguard-project.txt content:
-dontoptimize
-dontobfuscate
-dontwarn
# Exclude files generated by Dagger
# keep annotations
-keepattributes *Annotation*
-keepclassmembers,allowobfuscation class * {
@javax.inject.* *; # keep all methods annotated by annotations defined in javax.inject.* package
@dagger.* *; # keep all methods annotated by annotations defined in and dagger.* package
<init>(); # keep default no-argument constructors
}
# keep files generated by Dagger
-keep class **$ModuleAdapter
-keep class **$InjectAdapter
-keep class **$StaticInjection
-keep class **$Adapter
-keepnames class dagger.Lazy
-keep class {my package}.test.** {*;}
-keep class {my package}.dagger.** {*;}
-keepnames class {my package}.test.** {*;}