【发布时间】:2017-10-16 20:46:43
【问题描述】:
当我启动我的应用程序时,我有很多警告和错误:
信息:Gradle 任务 [:app:assembleDebug] 警告:butterknife.compiler.ButterKnifeProcessor$IdScanner:不能 查找超类或接口 com.sun.tools.javac.tree.TreeScanner 警告:butterknife.compiler.ButterKnifeProcessor$RClassScanner:不能 查找超类或接口 com.sun.tools.javac.tree.TreeScanner 警告:butterknife.compiler.ButterKnifeProcessor$VarScanner:不能 查找超类或接口 com.sun.tools.javac.tree.TreeScanner 警告:org.apache.poi.hssf.usermodel.DummyGraphics2d:找不到 超类或接口 java.awt.Graphics2D 警告:org.apache.poi.hssf.usermodel.EscherGraphics:找不到 超类或接口 java.awt.Graphics 警告:org.apache.poi.hssf.usermodel.EscherGraphics2d:找不到 超类或接口 java.awt.Graphics2D 警告:org.apache.poi.poifs.crypt.dsig.SignatureMarshalListener: 找不到超类或接口 org.w3c.dom.events.EventListener 警告:org.apache.poi.xslf.usermodel.XSLFRenderingHint:找不到 超类或接口 java.awt.RenderingHints$Key …… 错误:任务执行失败 >':app:transformClassesAndResourcesWithProguardForDebug'。 作业失败,查看日志了解详情
我的程序规则是:
# Workaround for ProGuard not recognizing dontobfuscate -dontobfuscate -dontoptimize -optimizations !code/allocation/variable #Rules for javascript and webview -keepclassmembers class fqcn.of.javascript.interface.for.webview { public *; } -keepattributes *Annotation*,EnclosingMethod,Signature #Parcel -keep class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *; } -keep class org.parceler.Parceler$$Parcels -keep public class org.apache.poi.** {*;} #BUTTERKNIFE # Retain generated class which implement ViewBinder. -keep public class * implements butterknife.internal.ViewBinder{ 公开(); }
# Prevent obfuscation of types which use ButterKnife annotations since the simple name # is used to reflectively look up the generated ViewBinder. -keep class butterknife.* -keepclasseswithmembernames class * { @butterknife.* <methods>; } -keepclasseswithmembernames class * { @butterknife.* <fields>; }
我的毕业生:
buildTypes { release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
} }
如果我将 minifyEnabled 更改为 false。没有错误。我正在使用多索引模式。我该如何解决这个问题?
【问题讨论】:
标签: android proguard obfuscation android-proguard android-multidex