1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > HttpClient在Android新API上的java.lang.NoSuchFieldError: No static field INSTANCE问题

HttpClient在Android新API上的java.lang.NoSuchFieldError: No static field INSTANCE问题

时间:2020-06-14 08:59:51

相关推荐

HttpClient在Android新API上的java.lang.NoSuchFieldError: No static field INSTANCE问题

HttpClient的问题

使用中问题问题出现的情况解决的办法总结:

使用中问题

虽然现在都不用httpClient了,但不排除有的小伙像我一样,老项目用到了,还让维护的。哎,说来这是真的坑啊,这都好久之前就废弃的包了,为什么还要用啊,真是搞不懂啊,

如果你出现下面的问题,恭喜你入坑了。

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)

意思是,HttpClient下面和Framework层都有AllowAllHostnameVerifier这个文件,导致冲突的。

问题出现的情况

可能是你引入了jar包导致的,也就是如下:

implementation group: 'org.apache.httpcomponents' , name: 'httpclient', version: '4.5.12'

解决的办法

删掉上面引用,也就是不用上面的那就句,既不用4.5.12的外来包,用Android原生的加入这句

android {useLibrary 'org.apache.http.legacy'}

也就是在build文件中只加入useLibrary 'org.apache.http.legacy'这个,其他的有关HttpClient引用都不要。

总结:

我觉得还是早换掉包文件吧,像是这种都被废弃的,完全没必要浪费时间处理这个啊,真是血的教训,虽然最后还是解决了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。