HTMLUnit и Android: несовместимость JAXP - PullRequest
0 голосов
/ 01 октября 2011

При попытке подключиться к «www.google.com» выбрасывается простой HTMLUnit. Инициализация класса HTMLUnit класса WebClient не удалась из-за несовместимости с android jaxp impl:

    final WebClient webClient = new WebClient(BrowserVersion.FIREFOX_3);

    HtmlPage page1 = null;
    try {
        page1 = webClient.getPage("http://www.google.com/");
    } catch (FailingHttpStatusCodeException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (MalformedURLException e) {
        // TODO Auto-generated catch block

....

09-30 23: 05: 57.867: ОШИБКА / AndroidRuntime (289): ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ: главная 09-30 23: 05: 57.867: ОШИБКА / AndroidRuntime (289): java.lang.RuntimeException: Невозможно запустить действие ComponentInfo {com.mygo / com.mygo.HTMLUnitActivity}: java.lang.IllegalStateException: метод 'jsxGet_encoding' не найден для свойства кодирования в com.gargoylesoftware.htmlunit.javascript.host.css.CSSCharsetRule 09-30 23: 05: 57.867/ AndroidRuntime (289): в android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2663) 09-30 23: 05: 57.867: ОШИБКА / AndroidRuntime (289): в android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2679) 09-30 23: 05: 57.867: ОШИБКА / AndroidRuntime (289): на android.app.ActivityThread.access $ 2300 (ActivityThread.java:125) 09-30 23: 05: 57.867: ОШИБКА / AndroidRuntime (289):в андреoid.app.ActivityThread $ H.handleMessage (ActivityThread.java:2033) 09-30 23: 05: 57.867: ОШИБКА / AndroidRuntime (289): в android.os.Handler.dispatchMessage (Handler.java:99) 09-3023: 05: 57.867: ОШИБКА / AndroidRuntime (289): на android.os.Looper.loop (Looper.java:123) 09-30 23: 05: 57.867: ОШИБКА / AndroidRuntime (289): на android.app.ActivityThread.main (ActivityThread.java:4627) 09-30 23: 05: 57.867: ОШИБКА / AndroidRuntime (289): в java.lang.reflect.Method.invokeNative (собственный метод) 09-30 23: 05: 57.867: ОШИБКА /AndroidRuntime (289): в java.lang.reflect.Method.invoke (Method.java:521) 09-30 23: 05: 57.867: ОШИБКА / AndroidRuntime (289): в com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:868) 09-30 23: 05: 57.867: ОШИБКА / AndroidRuntime (289): на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:626) 09-30 23:05: 57.867: ОШИБКА / AndroidRuntime (289): at dalvik.system.NativeStart.main (собственный метод) 09-30 23: 05: 57.867: ОШИБКА / AndroidRuntime (289): причина: java.lang.IllegalStateException: методd 'jsxGet_encoding' не был найден для свойства кодирования в com.gargoylesoftware.htmlunit.javascript.host.css.CSSCharsetRule 09-30 23: 05: 57.867: ОШИБКА / AndroidRuntime (289): в com.gargoylesoftware.htmlunit.favcript.jav.ClassConfiguration.addProperty (ClassConfiguration.java:109) 09-30 23: 05: 57.867: ОШИБКА / AndroidRuntime (289): в com.gargoylesoftware.htmlunit.javascript.configuration.JavaScriptConfiguration.parsePropertyElement (JavaScriptConfiguration) 09- JavaScript:30 23: 05: 57.867: ОШИБКА / AndroidRuntime (289): в com.gargoylesoftware.htmlunit.javascript.configuration.JavaScriptConfiguration.parseClassElement (JavaScriptConfiguration.java:384) 09-30 23: 05: 57.867: ОШИБКА / AndroidRuntime (289): в com.gargoylesoftware.htmlunit.javascript.configuration.JavaScriptConfiguration.buildUsageMap (JavaScriptConfiguration.java:312) 09-30 23: 05: 57.867: ОШИБКА / AndroidRuntime (289): в com.gargoylesoftware.htmlunit.javjascriptScript. (JavaScriptConfiguration.java:147) 09-3023: 05: 57.867: ОШИБКА / AndroidRuntime (289): в com.gargoylesoftware.htmlunit.javascript.configuration.JavaScriptConfiguration.getInstance (JavaScriptConfiguration.java:237) 09-30 23: 05: 57.867: ОШИБКА / AndroidRuntime (289):в com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine. (JavaScriptEngine.java:117) 09-30 23: 05: 57.867: ОШИБКА / AndroidRuntime (289): в com.gargoylesoftware.htmlunit.WebClient.init (WebClient.java:2) 09-30 23: 05: 57.867: ОШИБКА / AndroidRuntime (289): на com.gargoylesoftware.htmlunit.WebClient. (WebClient.java:189) 09-30 23: 05: 57.867: ОШИБКА / AndroidRuntime (289): вcom.mygo.HTMLUnitActivity.onCreate (HTMLUnitActivity.java:22) 09-30 23: 05: 57.867: ОШИБКА / AndroidRuntime (289): в android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1047)09-30 23: 05: 57.867: ОШИБКА / AndroidRuntime (289): на android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2627)

  • Должен ли я понизить версию htmlunit? (Я использую 2.9).
  • Есть ли другое решение использовать htmlunit в Android SDK?

Любая помощь будет оценена.

1 Ответ

1 голос
/ 03 декабря 2011

Я решил путем понижения до htmlunit 2.8

...