问题
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:classes2.dex)
经查看是 android_sdk中有一个 AllowAllHostnameVerifier 类 没有INSTANCE字段
而httpclient-4.5.3.jar 中有 AllowAllHostnameVerifier 类 有INSTANCE字段,而代码运行优先使用sdk中的AllowAllHostnameVerifier类了,所以报No static field INSTANCE;
分析:我们不能改android_sdk,所以只能想办法变更依赖了
把依赖中的
implementation files('libs/commons-logging-1.2.jar') implementation files('libs/httpcore-4.4.6.jar')
替换成下面的
implementation group: 'org.apache.httpcomponents' , name: 'httpclient-android' , version: '4.3.5.1'
问题解决,找了一上午,网上各种攻略都试了 不管用;