【发布时间】:2016-04-05 14:50:10
【问题描述】:
我正在使用 Proguard 来缩减我的代码。我的策略是启用它,然后按照警告保留它抱怨的任何内容。如果有外部库,我会尝试遵循作者提供的 Proguard 说明。许多指令包含-dontwarn 标志。如果我禁用 -dontwarn 标志,我会收到警告。如果我们通过-keep 标志保留大多数课程,为什么还会出现警告?
示例:
-keep class javax.** { *; }
# for butterknife
-keep class butterknife.** { *; }
-dontwarn butterknife.internal.**
-keep class **$$ViewBinder { *; }
-keepclasseswithmembernames class * {
@butterknife.* <fields>;
}
-keepclasseswithmembernames class * {
@butterknife.* <methods>;
}
Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.annotation.processing.AbstractProcessor
Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.annotation.processing.ProcessingEnvironment
Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.TypeElement
Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.lang.model.element.Element
Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.annotation.processing.Filer
Warning:butterknife.internal.ButterKnifeProcessor: can't find referenced class javax.tools.JavaFileObject
...
【问题讨论】: