dagger android支持proguard规则
Posted
技术标签:
【中文标题】dagger android支持proguard规则【英文标题】:dagger android support proguard rules 【发布时间】:2018-02-05 02:08:13 【问题描述】:我正在使用带有 Proguard 的 Dagger2 android-support 库,但由于此错误,我无法编译我的项目:
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.
我使用的 Dagger 版本是2.11。
问题是我应该为 Dagger2 android-support 库使用什么 Proguard 规则?
【问题讨论】:
【参考方案1】:应该是:
-keep class com.google.errorprone.annotations.** *;
更新:大概只有下面的规则就够了,不需要添加前面的规则。
-dontwarn com.google.errorprone.annotations.**
【讨论】:
感谢您的回答,-dontwarn 规则工作正常,但另一个没有工作以上是关于dagger android支持proguard规则的主要内容,如果未能解决你的问题,请参考以下文章
v7 支持库 ActionBar 的 Android Proguard 配置
使用 AndroidX 时,proguard-android-optimize.txt 中的“@Keep 支持注释”规则是不是仍然适用?