Lorg / apacheの/ HTTP / CONN / SSL / AllowAllHostnameVerifierのAndroid Studioプロジェクトにhtmlunitを使用して型の静的フィールドインスタンスいいえ

DeborahAnn:

私は自分のAndroid Studioプロジェクトにhtmlunit 2.36.0を使用しています。私は正常にAPKをコンパイルしたが、私は、Webページを取得しようとすると、私はいくつかのランタイムエラーを取得しています。前に、私は次のエラーを得ていました。

java.lang.BootstrapMethodError: Exception from call site

しかし、私はGradleのでこれを追加することで問題を解決することができました:

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

しかし、今、私は別のエラーが直面しています:

 java.lang.NoSuchFieldError: No static field INSTANCE of type Lorg/apache/http/conn/ssl/AllowAllHostnameVerifier; in class Lorg/apache/http/conn/ssl/AllowAllHostnameVerifier; or its superclasses (declaration of 'org.apache.http.conn.ssl.AllowAllHostnameVerifier' appears in /system/framework/framework.jar!classes3.dex)
        at org.apache.http.conn.ssl.SSLConnectionSocketFactory.<clinit>(SSLConnectionSocketFactory.java:151)
        at com.gargoylesoftware.htmlunit.httpclient.HtmlUnitSSLConnectionSocketFactory.buildSSLSocketFactory(HtmlUnitSSLConnectionSocketFactory.java:89)
        at com.gargoylesoftware.htmlunit.HttpWebConnection.configureHttpsScheme(HttpWebConnection.java:635)
        at com.gargoylesoftware.htmlunit.HttpWebConnection.createHttpClientBuilder(HttpWebConnection.java:558)
        at com.gargoylesoftware.htmlunit.HttpWebConnection.getHttpClientBuilder(HttpWebConnection.java:519)
        at com.gargoylesoftware.htmlunit.HttpWebConnection.getResponse(HttpWebConnection.java:171)
        at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseFromWebConnection(WebClient.java:1407)
        at com.gargoylesoftware.htmlunit.WebClient.loadWebResponse(WebClient.java:1326)
        at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:396)
        at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:317)
        at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:469)
        at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:450)

どうやら、独自のクラスまたはまたはそのスーパーでAllowAllHostnameVerifierのない静的フィールドインスタンスはありません。私はこの問題を解決する方法は考えています。

Mr.AF:

以下のようhc.apache.orgは文書化:

AllowAllHostnameVerifier推奨されていません。4.4)を使用しますNoopHostnameVerifier

あなたはへの依存関係のバージョンにダウングレードした場合4.3(2013〜2015)例外が解決されます。

implementation 'net.sourceforge.htmlunit:htmlunit:2.14'
implementation 'org.apache.httpcomponents:httpclient:4.3'
implementation 'org.apache.httpcomponents:httpcore:4.3'

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=13279&siteId=1