Java 在android项目中使用htmlunit.jar库时出现Proguard问题

Java 在android项目中使用htmlunit.jar库时出现Proguard问题,java,android,android-gradle-plugin,htmlunit,android-proguard,Java,Android,Android Gradle Plugin,Htmlunit,Android Proguard,我在android项目中使用了htmlunit-2.15.jar。当我试图创建一个签名的apk时,它抛出了一些proguard错误 Caused by: java.io.IOException: java.lang.IllegalArgumentException: Can't find common super class of [com/gargoylesoftware/htmlunit/activex/javascript/msxml/MSXMLScriptable] (with 2 kn

我在android项目中使用了
htmlunit-2.15.jar
。当我试图创建一个签名的apk时,它抛出了一些proguard错误

Caused by: java.io.IOException: java.lang.IllegalArgumentException: Can't find common super class of [com/gargoylesoftware/htmlunit/activex/javascript/msxml/MSXMLScriptable] (with 2 known super classes) and [java/lang/Class] (with 2 known super classes)
at com.android.build.gradle.internal.transforms.ProGuardTransform.doMinification(ProGuardTransform.java:259)

Caused by: java.lang.IllegalArgumentException: Can't find common super class of [com/gargoylesoftware/htmlunit/activex/javascript/msxml/MSXMLScriptable] (with 2 known super classes) and [java/lang/Class] (with 2 known super classes) at proguard.evaluation.value.TypedReferenceValue.findCommonClass(TypedReferenceValue.java:450)
所以,你能帮我解决这个问题,因为我的项目是活的,我需要立即修复和放松建设。在android studio中从gradle2.3.3迁移到3.0.1时出现问题

我在proguard-rules.pro中添加了这两行

-dontwarn com.gargoylesoftware.htmlunit.**
-keep class com.gargoylesoftware.htmlunit.** { *; }

-dontwarn netscape.javascript.**
-keep class netscape.javascript.** { *; }

谢谢,我已经整理了解决方案并修复了它,我刚刚添加了库

实现'net.sourceforge.htmlunit:htmlunit核心js:2.5'

应用内build.gradle文件

该库包含该htmlunit.jar中缺少的所有类。 并在我的progaud文件中添加了这3行。


以上更改修复了我的问题,现在我能够生成已签名的apk文件

您是否检查了此链接??[1] :Yaah检查它没有解决我的问题。在您的依赖项中,此代码对我有效。配置{all*.exclude group:'com.android.support',module:'support-v13'}Codelover您能更清楚一些吗?我想您的错误是由于jar文件引起的。在应用程序的Build.gradle文件中的依赖项中添加此代码段。配置{all*.exclude组:'com.android.support',模块:'support-v13'}
-keep class com.gargoylesoftware.htmlunit.html.DomNode { *; }
-keep class com.gargoylesoftware.htmlunit.javascript.SimpleScriptable { *; }
-keep class net.sourceforge.htmlunit.corejs.javascript.** { *; }