Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android应用程序上的Htmlunit_Java_Android_Htmlunit - Fatal编程技术网

Java Android应用程序上的Htmlunit

Java Android应用程序上的Htmlunit,java,android,htmlunit,Java,Android,Htmlunit,有人让HTMLUnit(或HtmlUnitDriver)在Android应用程序上工作吗 这就是问题所在:我收到以下错误消息: 11-26 16:27:26.617: E/AndroidRuntime(1265): java.lang.NoClassDefFoundError: org/w3c/dom/css/CSSRule 这就是我所做的:我尝试添加对以下链接中列出的JAR的引用(在项目依赖项和项目可传递依赖项下-仅编译,不包括测试JAR): 然而Eclipse不断崩溃,然后我发现一些问题

有人让HTMLUnit(或HtmlUnitDriver)在Android应用程序上工作吗

这就是问题所在:我收到以下错误消息:

11-26 16:27:26.617: E/AndroidRuntime(1265): java.lang.NoClassDefFoundError: org/w3c/dom/css/CSSRule
这就是我所做的:我尝试添加对以下链接中列出的JAR的引用(在项目依赖项和项目可传递依赖项下-仅编译,不包括测试JAR):

然而Eclipse不断崩溃,然后我发现一些问题说Android SDK中已经包含了一些JAR:

xalan, xercesImpl and xml-apis

因此,我删除了对这些罐子的引用,只保留以下内容:

commons-codec-1.4.jar
commons-collections-3.2.1.jar
commons-io-2.0.1.jar
commons-lang-2.6.jar
commons-logging-1.1.1.jar
cssparser-0.9.5.jar
htmlunit-2.9.jar
htmlunit-core-js-2.9.jar
httpmime-4.1.2.jar
nekohtml-1.9.15.jar
sac-1.3.jar
httpcore-4.1.3.jar
此时应用程序能够运行,但当执行以下代码行时,我开始出现错误:

final WebClient webClient = new WebClient();

11-26 16:27:26.617: E/AndroidRuntime(1265): java.lang.NoClassDefFoundError: org/w3c/dom/css/CSSRule
我做了一次网络搜索,发现xml-api-1.3.04.jar包含org/w3c/dom/css/CSSRule,因此我将该引用放回了项目,但该应用程序根本不会生成,并显示上面第一个链接中描述的相同错误消息:

[2011-11-26 16:39:52 - Myproj] Conversion to Dalvik format failed with error 1

有人能解释一下吗?

正如ULsies在评论中所说的Htmlunit做到了这一点==>Htmlunit是一款“用于Java程序的无GUI浏览器”。它为HTML文档建模,并提供一个API,允许您调用页面、填写表单、单击链接等。。。就像在“普通”浏览器中一样

这与android sdk中提供的webview小部件非常相似,您不需要任何其他额外的jar来打开活动中的网页

根据谷歌android文档 WebView是一种显示网页的视图。它使用WebKit呈现引擎显示网页,并包括在历史记录中向前和向后导航、放大和缩小、执行文本搜索等方法

将其添加到活动布局xml文件中

    <WebView  xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
  />

这里有更多信息:

xml-api-1.3.04.jar包含核心类。您必须修改jar并删除这些类

请注意,至少在当前的ADT版本中,您会收到一条解释问题的消息:

Ill-advised or mistaken usage of a core class (java.* or javax.*)
when not building a core library.

根据他们的网站:“这是一种专门用于测试目的的模拟浏览器的方法,旨在用于其他测试框架,如JUnit或TestNG。”我想知道,当Android有Webkit浏览器和JUnit测试时,为什么需要模拟虚拟浏览器?也许他想用它来解析,而不仅仅是查看网站WebView使您能够获取可存储和解析的网站源代码。很多教程都是这样做的,只是谷歌而已!我也需要这个。在运行一些javascript代码后,我需要它在Android服务中解析html页面。那么你能帮我如何让htmlunit在Android上工作吗?
WebView myWebView = (WebView) findViewById(R.id.webview);
 myWebView.loadUrl("http://www.your url .com");
Ill-advised or mistaken usage of a core class (java.* or javax.*)
when not building a core library.