2017-08-27 409 views
11

我使用Dagger2 Android的支持Proguard的,但我不能编译我的项目,因为这个错误的:匕首支持Android proguard的规则

Warning:dagger.android.AndroidInjector: can't find referenced class com.google.errorprone.annotations.DoNotMock 
Warning:dagger.android.AndroidInjector$Builder: can't find referenced class com.google.errorprone.annotations.DoNotMock 
Warning:dagger.android.AndroidInjector$Factory: can't find referenced class com.google.errorprone.annotations.DoNotMock 
Warning:dagger.android.DaggerApplication: can't find referenced class com.google.errorprone.annotations.ForOverride 
Warning:dagger.android.DispatchingAndroidInjector: can't find referenced class com.google.errorprone.annotations.CanIgnoreReturnValue 
Warning:there were 5 unresolved references to classes or interfaces. 

匕首的版本,我m使用的是2.11

问题是什么Proguard规则应该用于Dagger2 android-support库吗?

回答

21

应该是:

-keep class com.google.errorprone.annotations.** { *; } 

更新:可能仅在以下规则就足够了,没必要加一条规则。

-dontwarn com.google.errorprone.annotations.** 
+1

谢谢你的回答,-twtwarn规则工作正常,但另一个没有工作 –