HtmlUnit и Android: несовместимость JAXP

#android #htmlunit

#Android #htmlunit

Вопрос:

Попытка подключиться к «www.google.com «выбросить простой HtmlUnit Инициализация класса WebClient HtmlUnit завершилась неудачно из-за несовместимости с 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): ФАТАЛЬНОЕ ИСКЛЮЧЕНИЕ: main 09-30 23:05:57.867: ОШИБКА/AndroidRuntime(289): java.lang.RuntimeException: Не удается запустить activity 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-3023:05:57.867: ОШИБКА / AndroidRuntime(289): на android.app.ActivityThread.access$ 2300(ActivityThread.java:125) 09-30 23:05:57.867: ОШИБКА / AndroidRuntime(289): в android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)09-30 23:05:57.867: ОШИБКА / AndroidRuntime(289): в android.os.Handler.DispatchMessage(Handler.java:99) 09-30 23: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.Метод.вызывающий (собственный метод) 09-30 23:05:57.867: ОШИБКА / AndroidRuntime(289): в java.lang.reflect.Метод.invoke(Метод.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): в dalvik.system.NativeStart.main(собственный метод) 09-30 23:05:57.867: ОШИБКА / AndroidRuntime(289): вызвана: java.lang.Исключение IllegalStateException: не найден метод ‘jsxGet_encoding’ для свойства кодирования в com.gargoylesoftware.htmlunit.javascript.host.css.CSSCharsetRule 09-30 23:05:57.867: ОШИБКА/AndroidRuntime(289): в com.gargoylesoftware.htmlunit.javascript.configuration.ClassConfiguration.addProperty(ClassConfiguration.java:109) 09-30 23:05:57.867: ОШИБКА / AndroidRuntime(289): в com.gargoylesoftware.htmlunit.javascript.configuration.JavaScriptConfiguration.parsePropertyElement(JavaScriptConfiguration.java:437) 09-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.javascript.configuration.Конфигурация JavaScriptConfiguration.(JavaScriptConfiguration.java:147) 09-30 23: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:215) 09-30 23:05:57.867: ОШИБКА /AndroidRuntime(289): в com.gargoylesoftware.htmlunit.Веб-клиент.(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:

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