2017-08-27 81 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規則工作正常,但另一個沒有工作 –