java - HTMLUnit 不起作用

标签 java android htmlunit

我编写了一个使用 HTMLUnit 登录网站的程序,效果很好。现在我想在我正在构建的 Android 应用程序中使用它,但它不起作用。我收到此错误:

Conversion to Dalvik format failed with error 1

一旦我删除了一些 jar ,比如 Jetty jar ,我就会不断遇到这个错误

Could not find class 'com.gargoylesoftware.htmlunit.html.HtmlDivision', referenced from method com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.init

几秒钟后这个:

11-19 13:47:26.485: E/AndroidRuntime(18991): FATAL EXCEPTION: AsyncTask #1
11-19 13:47:26.485: E/AndroidRuntime(18991): java.lang.RuntimeException: An error occured while executing doInBackground()
11-19 13:47:26.485: E/AndroidRuntime(18991):    at android.os.AsyncTask$3.done(AsyncTask.java:299)
11-19 13:47:26.485: E/AndroidRuntime(18991):    at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
11-19 13:47:26.485: E/AndroidRuntime(18991):    at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
11-19 13:47:26.485: E/AndroidRuntime(18991):    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
11-19 13:47:26.485: E/AndroidRuntime(18991):    at java.util.concurrent.FutureTask.run(FutureTask.java:137)
11-19 13:47:26.485: E/AndroidRuntime(18991):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
11-19 13:47:26.485: E/AndroidRuntime(18991):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
11-19 13:47:26.485: E/AndroidRuntime(18991):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
11-19 13:47:26.485: E/AndroidRuntime(18991):    at java.lang.Thread.run(Thread.java:856)
11-19 13:47:26.485: E/AndroidRuntime(18991): Caused by: java.lang.NoClassDefFoundError: org/w3c/dom/css/CSSCharsetRule
11-19 13:47:26.485: E/AndroidRuntime(18991):    at java.lang.Class.getDeclaredMethods(Native Method)
11-19 13:47:26.485: E/AndroidRuntime(18991):    at java.lang.Class.getDeclaredMethods(Class.java:703)
11-19 13:47:26.485: E/AndroidRuntime(18991):    at com.gargoylesoftware.htmlunit.javascript.configuration.JavaScriptConfiguration.processClass(JavaScriptConfiguration.java:444)
11-19 13:47:26.485: E/AndroidRuntime(18991):    at com.gargoylesoftware.htmlunit.javascript.configuration.JavaScriptConfiguration.buildUsageMap(JavaScriptConfiguration.java:409)
11-19 13:47:26.485: E/AndroidRuntime(18991):    at com.gargoylesoftware.htmlunit.javascript.configuration.JavaScriptConfiguration.<init>(JavaScriptConfiguration.java:365)
11-19 13:47:26.485: E/AndroidRuntime(18991):    at com.gargoylesoftware.htmlunit.javascript.configuration.JavaScriptConfiguration.getInstance(JavaScriptConfiguration.java:381)
11-19 13:47:26.485: E/AndroidRuntime(18991):    at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.<init>(JavaScriptEngine.java:130)
11-19 13:47:26.485: E/AndroidRuntime(18991):    at com.gargoylesoftware.htmlunit.WebClient.init(WebClient.java:218)
11-19 13:47:26.485: E/AndroidRuntime(18991):    at com.gargoylesoftware.htmlunit.WebClient.<init>(WebClient.java:193)
11-19 13:47:26.485: E/AndroidRuntime(18991):    at com.gargoylesoftware.htmlunit.WebClient.<init>(WebClient.java:184)
11-19 13:47:26.485: E/AndroidRuntime(18991):    at com.cofely.VPNProfileLogin.doInBackground(VPNProfileLogin.java:28)
11-19 13:47:26.485: E/AndroidRuntime(18991):    at com.cofely.VPNProfileLogin.doInBackground(VPNProfileLogin.java:1)
11-19 13:47:26.485: E/AndroidRuntime(18991):    at android.os.AsyncTask$2.call(AsyncTask.java:287)
11-19 13:47:26.485: E/AndroidRuntime(18991):    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
11-19 13:47:26.485: E/AndroidRuntime(18991):    ... 5 more
11-19 13:47:26.485: E/AndroidRuntime(18991): Caused by: java.lang.ClassNotFoundException: org.w3c.dom.css.CSSCharsetRule
11-19 13:47:26.485: E/AndroidRuntime(18991):    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
11-19 13:47:26.485: E/AndroidRuntime(18991):    at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
11-19 13:47:26.485: E/AndroidRuntime(18991):    at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
11-19 13:47:26.485: E/AndroidRuntime(18991):    ... 19 more

谁能告诉我这是怎么回事吗?谢谢

最佳答案

看看这个: "Conversion to Dalvik format failed with error 1" on external JAR

对此不是 100% 确定,但您可能需要使用以下方法将项目中引用的一些 jar 转换为 dalvik 格式:

dx --dex --output="c:\temp\dx.dex" "c:\temp\in.jar"

您收到 NoClassDefFoundError 错误可能是因为您从项目中删除了必要的 jar。

关于java - HTMLUnit 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20072120/

相关文章:

java - 使用 php 单击提交按钮

java - 在 Mac OS X Lion 中运行 RMI Hello world 失败

java - 在 Java 中实习的字符串的特例

java - 迁移到 WebLogic 12 后出现 'Missing Required Attribute' JiBX 错误

java - onCreate() 和 onClick() 的顺序

android - 在未连接 USB 的情况下运行 UiAutomator 2.0 测试用例

javascript - HTMLUnit HtmlTextInput 和提交按钮

java - HtmlUnit - 将 HtmlPage 转换为 HTML 字符串?

java - Java 中 Apache FOP 的 XSL 错误

android - FirebaseAppDistribution : Missing app id in the appDistributionUpload gradle command