安卓的HtmlUnit问题,Web客户端 [英] HtmlUnit Android problem with WebClient

查看:133
本文介绍了安卓的HtmlUnit问题,Web客户端的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

的HtmlUnit是惊人的,在Java中,至少我有没有问题吧。不幸的是切换code转移到Android平台时,它是当我尝试创建一个Web客户端给我的错误。

 进口android.app.Activity;
进口android.os.Bundle;

进口com.gargoylesoftware.htmlunit.WebClient;

公共类AndroidTestActivity延伸活动{
/ **第一次创建活动时调用。 * /
@覆盖
公共无效的onCreate(包savedInstanceState){
    super.onCreate(savedInstanceState);
    的setContentView(R.layout.main);
    最终的Web客户端Web客户端=新的Web客户端();
    }
}
 

警告它给我的程序启动的AVD之前。

这是它给我的警告的一个例子,这是确切的警告,但它是一遍又一遍地重复约100000x次:

  [2011-08-31 21点25分24秒 -  AndroidTest]霉素警告:忽略InnerClasses属性匿名内部类(org.apache.commons.collections.BeanMap $ 1)没有附带相关的EnclosingMethod属性。这个类可能是由一个编译器,没有针对现代.class文件格式制作。推荐的解决方案是从源代码重新编译类,使用了最新的编译器和不指定任何-target类型选项。无视这一警告的后果是,在此类反射操作会错误地指出它不是一个内部类。
 

有任何帮助,您可以给我?

在Android的调试器错误:

  7月九日至一日:44:24.569:WARN / dalvikvm(877):主题ID = 1:螺纹退出与未捕获的异常(组= 0x4001d800)
7月9日至1号:44:24.600:ERROR / AndroidRuntime(877):致命异常:主要
7月9日至1号:44:24.600:ERROR / AndroidRuntime(877):java.lang.ExceptionInInitializerError
7月9日至1号:44:24.600:ERROR / AndroidRuntime(877):在com.Test.AndroidTestActivity.onCreate(AndroidTestActivity.java:20)
7月9日至1号:44:24.600:ERROR / AndroidRuntime(877):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
7月9日至1号:44:24.600:ERROR / AndroidRuntime(877):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
7月9日至1号:44:24.600:ERROR / AndroidRuntime(877):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
7月9日至1号:44:24.600:ERROR / AndroidRuntime(877):在android.app.ActivityThread.access $ 2300(ActivityThread.java:125)
7月9日至1号:44:24.600:ERROR / AndroidRuntime(877):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:2033)
7月9日至1号:44:24.600:ERROR / AndroidRuntime(877):在android.os.Handler.dispatchMessage(Handler.java:99)
7月9日至1号:44:24.600:ERROR / AndroidRuntime(877):在android.os.Looper.loop(Looper.java:123)
7月9日至1号:44:24.600:ERROR / AndroidRuntime(877):在android.app.ActivityThread.main(ActivityThread.java:4627)
7月9日至1号:44:24.600:ERROR / AndroidRuntime(877):在java.lang.reflect.Method.invokeNative(本机方法)
7月9日至1号:44:24.600:ERROR / AndroidRuntime(877):在java.lang.reflect.Method.invoke(Method.java:521)
7月9日至1号:44:24.600:ERROR / AndroidRuntime(877):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868)
7月9日至1号:44:24.600:ERROR / AndroidRuntime(877):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
7月9日至1号:44:24.600:ERROR / AndroidRuntime(877):在dalvik.system.NativeStart.main(本机方法)
7月9日至1号:44:24.600:ERROR / AndroidRuntime(877):java.lang.NoClassDefFoundError的:产生的原因org.apache.commons.lang.StringUtils
7月9日至1号:44:24.600:ERROR / AndroidRuntime(877):在com.gargoylesoftware.htmlunit.util.URLCreator$URLCreatorStandard.toUrlUnsafeClassic(URLCreator.java:66)
7月9日至1号:44:24.600:ERROR / AndroidRuntime(877):在com.gargoylesoftware.htmlunit.util.UrlUtils.toUrlUnsafe(UrlUtils.java:193)
7月9日至1号:44:24.600:ERROR / AndroidRuntime(877):在com.gargoylesoftware.htmlunit.util.UrlUtils.toUrlSafe(UrlUtils.java:171)
7月9日至1号:44:24.600:ERROR / AndroidRuntime(877):在com.gargoylesoftware.htmlunit.WebClient< clinit>(WebClient.java:162)
7月9日至1号:44:24.600:ERROR / AndroidRuntime(877):14 ...更多
 

**错误之后加入公地郎和休息图书馆的

  09-02 16:16:34.440:ERROR / AndroidRuntime(396):致命异常:主要
09-02 16:16:34.440:ERROR / AndroidRuntime(396):java.lang.NoClassDefFoundError的:com.gargoylesoftware.htmlunit.DefaultCssErrorHandler
09-02 16:16:34.440:ERROR / AndroidRuntime(396):在com.gargoylesoftware.htmlunit.WebClient< INIT>(WebClient.java:157)
09-02 16:16:34.440:ERROR / AndroidRuntime(396):在com.gargoylesoftware.htmlunit.WebClient< INIT>(WebClient.java:180)
09-02 16:16:34.440:ERROR / AndroidRuntime(396):在com.Test.AndroidTestActivity.onCreate(AndroidTestActivity.java:21)
09-02 16:16:34.440:ERROR / AndroidRuntime(396):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
09-02 16:16:34.440:ERROR / AndroidRuntime(396):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
09-02 16:16:34.440:ERROR / AndroidRuntime(396):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
09-02 16:16:34.440:ERROR / AndroidRuntime(396):在android.app.ActivityThread.access $ 2300(ActivityThread.java:125)
09-02 16:16:34.440:ERROR / AndroidRuntime(396):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:2033)
09-02 16:16:34.440:ERROR / AndroidRuntime(396):在android.os.Handler.dispatchMessage(Handler.java:99)
09-02 16:16:34.440:ERROR / AndroidRuntime(396):在android.os.Looper.loop(Looper.java:123)
09-02 16:16:34.440:ERROR / AndroidRuntime(396):在android.app.ActivityThread.main(ActivityThread.java:4627)
09-02 16:16:34.440:ERROR / AndroidRuntime(396):在java.lang.reflect.Method.invokeNative(本机方法)
09-02 16:16:34.440:ERROR / AndroidRuntime(396):在java.lang.reflect.Method.invoke(Method.java:521)
09-02 16:16:34.440:ERROR / AndroidRuntime(396):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868)
09-02 16:16:34.440:ERROR / AndroidRuntime(396):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
09-02 16:16:34.440:ERROR / AndroidRuntime(396):在dalvik.system.NativeStart.main(本机方法)
 

解决方案

您的堆栈跟踪表明,一个的ExceptionInInitializerError 被抛出,它是由:

 产生的原因:java.lang.NoClassDefFoundError的:org.apache.commons.lang.StringUtils
 

也许你错过了一些JAR(公共琅)在类路径?

HtmlUnit is amazing, in Java at least I have had no problems with it. Unfortunately when switching the code over to the Android platform, it is giving me errors when I try to create a web-client.

import android.app.Activity;
import android.os.Bundle;

import com.gargoylesoftware.htmlunit.WebClient;

public class AndroidTestActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    final WebClient webClient = new WebClient();
    }
}

Warnings it gives me before the program starts on the AVD.

This is an example of the warning it gives me, this is the exact warning but it is repeated over and over about 100000x times:

 [2011-08-31 21:25:24 - AndroidTest] Dx warning: Ignoring InnerClasses attribute for an anonymous inner class (org.apache.commons.collections.BeanMap$1) that doesn't come with an associated EnclosingMethod attribute. This class was probably produced by a compiler that did not target the modern .class file format. The recommended solution is to recompile the class from source, using an up-to-date compiler and without specifying any "-target" type options. The consequence of ignoring this warning is that reflective operations on this class will incorrectly indicate that it is not an inner class.

Is there any help you can give me?

Error in android debugger:

09-01 07:44:24.569: WARN/dalvikvm(877): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
09-01 07:44:24.600: ERROR/AndroidRuntime(877): FATAL EXCEPTION: main
09-01 07:44:24.600: ERROR/AndroidRuntime(877): java.lang.ExceptionInInitializerError
09-01 07:44:24.600: ERROR/AndroidRuntime(877):     at com.Test.AndroidTestActivity.onCreate(AndroidTestActivity.java:20)
09-01 07:44:24.600: ERROR/AndroidRuntime(877):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
09-01 07:44:24.600: ERROR/AndroidRuntime(877):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
09-01 07:44:24.600: ERROR/AndroidRuntime(877):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
09-01 07:44:24.600: ERROR/AndroidRuntime(877):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
09-01 07:44:24.600: ERROR/AndroidRuntime(877):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
09-01 07:44:24.600: ERROR/AndroidRuntime(877):     at android.os.Handler.dispatchMessage(Handler.java:99)
09-01 07:44:24.600: ERROR/AndroidRuntime(877):     at android.os.Looper.loop(Looper.java:123)
09-01 07:44:24.600: ERROR/AndroidRuntime(877):     at android.app.ActivityThread.main(ActivityThread.java:4627)
09-01 07:44:24.600: ERROR/AndroidRuntime(877):     at java.lang.reflect.Method.invokeNative(Native Method)
09-01 07:44:24.600: ERROR/AndroidRuntime(877):     at java.lang.reflect.Method.invoke(Method.java:521)
09-01 07:44:24.600: ERROR/AndroidRuntime(877):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
09-01 07:44:24.600: ERROR/AndroidRuntime(877):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
09-01 07:44:24.600: ERROR/AndroidRuntime(877):     at dalvik.system.NativeStart.main(Native Method)
09-01 07:44:24.600: ERROR/AndroidRuntime(877): Caused by: java.lang.NoClassDefFoundError: org.apache.commons.lang.StringUtils
09-01 07:44:24.600: ERROR/AndroidRuntime(877):     at com.gargoylesoftware.htmlunit.util.URLCreator$URLCreatorStandard.toUrlUnsafeClassic(URLCreator.java:66)
09-01 07:44:24.600: ERROR/AndroidRuntime(877):     at com.gargoylesoftware.htmlunit.util.UrlUtils.toUrlUnsafe(UrlUtils.java:193)
09-01 07:44:24.600: ERROR/AndroidRuntime(877):     at com.gargoylesoftware.htmlunit.util.UrlUtils.toUrlSafe(UrlUtils.java:171)
09-01 07:44:24.600: ERROR/AndroidRuntime(877):     at       com.gargoylesoftware.htmlunit.WebClient.<clinit>(WebClient.java:162)
09-01 07:44:24.600: ERROR/AndroidRuntime(877):     ... 14 more

**ERROR AFTER ADDING COMMONS-LANG AND REST OF LIBRARY

09-02 16:16:34.440: ERROR/AndroidRuntime(396): FATAL EXCEPTION: main
09-02 16:16:34.440: ERROR/AndroidRuntime(396): java.lang.NoClassDefFoundError: com.gargoylesoftware.htmlunit.DefaultCssErrorHandler
09-02 16:16:34.440: ERROR/AndroidRuntime(396):     at com.gargoylesoftware.htmlunit.WebClient.<init>(WebClient.java:157)
09-02 16:16:34.440: ERROR/AndroidRuntime(396):     at com.gargoylesoftware.htmlunit.WebClient.<init>(WebClient.java:180)
09-02 16:16:34.440: ERROR/AndroidRuntime(396):     at com.Test.AndroidTestActivity.onCreate(AndroidTestActivity.java:21)
09-02 16:16:34.440: ERROR/AndroidRuntime(396):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
09-02 16:16:34.440: ERROR/AndroidRuntime(396):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
09-02 16:16:34.440: ERROR/AndroidRuntime(396):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
09-02 16:16:34.440: ERROR/AndroidRuntime(396):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
09-02 16:16:34.440: ERROR/AndroidRuntime(396):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
09-02 16:16:34.440: ERROR/AndroidRuntime(396):     at android.os.Handler.dispatchMessage(Handler.java:99)
09-02 16:16:34.440: ERROR/AndroidRuntime(396):     at android.os.Looper.loop(Looper.java:123)
09-02 16:16:34.440: ERROR/AndroidRuntime(396):     at android.app.ActivityThread.main(ActivityThread.java:4627)
09-02 16:16:34.440: ERROR/AndroidRuntime(396):     at java.lang.reflect.Method.invokeNative(Native Method)
09-02 16:16:34.440: ERROR/AndroidRuntime(396):     at java.lang.reflect.Method.invoke(Method.java:521)
09-02 16:16:34.440: ERROR/AndroidRuntime(396):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
09-02 16:16:34.440: ERROR/AndroidRuntime(396):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
09-02 16:16:34.440: ERROR/AndroidRuntime(396):     at dalvik.system.NativeStart.main(Native Method)

解决方案

Your stacktrace shows that an ExceptionInInitializerError is thrown and that it is caused by:

Caused by: java.lang.NoClassDefFoundError: org.apache.commons.lang.StringUtils

Perhaps you're missing some JAR (commons-lang) in the classpath?

这篇关于安卓的HtmlUnit问题,Web客户端的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆