当前位置: 首页 > 知识库问答 >
问题:

API23更新后Android SDK与Apache HTTP的冲突

南门鸿哲
2023-03-14

在我的项目中,我使用了以下库:

compile 'org.apache.httpcomponents:httpclient:4.5.2'
compile 'org.apache.httpcomponents:httpcore:4.4.4'

一切都很好,直到我为API23更新了Android工具。然后,当我尝试执行HttpPost时,会出现以下异常:

java.lang.NoSuchFieldError: INSTANCE
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.<clinit>(SSLConnectionSocketFactory.java:144)
at org.apache.http.impl.client.HttpClientBuilder.build(HttpClientBuilder.java:966)
at org.apache.http.impl.client.HttpClients.createDefault(HttpClients.java:58)

这是发生这种情况的库代码:

public class SSLConnectionSocketFactory implements LayeredConnectionSocketFactory {

public static final String TLS   = "TLS";
public static final String SSL   = "SSL";
public static final String SSLV2 = "SSLv2";

@Deprecated
public static final X509HostnameVerifier ALLOW_ALL_HOSTNAME_VERIFIER
    = AllowAllHostnameVerifier.INSTANCE;

在查看外部库时,我可以看到Android.jar下的AllowAllHostNameVerifier类:

提前感谢!

共有1个答案

能旭
2023-03-14

简而言之,只需编辑Android.jar文件,删除需要由Apache库替换的类。

 类似资料:
  • 我有一张像下面这样的桌子。我试图根据CTE中的值合并到此表中。但当我试图在出现冲突时更新表时,它无法获得CTE中的值 现在使用cte,我想在这个表中插入/更新记录。下面是我用来做同样的事情的代码。当记录已经存在于表中时,我想根据cte(cte_input_data.data_type_id)中的data_type_id值更新表,但它失败并出错。 它应该实现的是 > 如果cte_输入_数据。数据类型

  • 错误: 任务“:App:ProcessDebugGoogleServices”执行失败。请通过更新Google-Services插件的版本(关于最新版本的信息可以在这里获得)或更新com.google.android.gms的版本到8.3.0来修复版本冲突。 在应用程序gradle中

  • AndroidSDK Android SDK development environment Docker image Goals It contains the complete Android SDK enviroment, is able to perform all regular Android jobs. Solves the problem of "It works on my ma

  • 问题内容: 我正在制作“记忆”游戏,当您选择两张卡并且如果它们匹配时,您将保留它们,否则将它们退回。如果您还记得已经选择的卡,则可以对下两张卡进行更好的猜测。 我遇到的问题涉及该方法无法立即重绘。 当我翻转第二张卡时,无论结果如何,我都希望显示两张卡都朝上翻转,然后丢弃它们或将它们翻转过来。我通过打电话来做到这一点。 当然,如果我将这些卡向右翻转,请稍等片刻,然后再根据它们的值再次使用,那么有用的

  • 目前正在运行9.5.3版本。当然,计划更新。 我有一个PostgreSQL数据库,其模式早于表行级安全性(即)。行级安全性是使用视图实现的。在视图中,只选择所有者名称与当前用户匹配的行来实现安全性。 我正试图使用这样一个视图构建一个upsert查询。当我试图命名

  • 我想更新表中几行的主键。如果所有行都已更新,则键将再次是唯一的,但第一行的更新会导致与第二行的键发生临时冲突。有没有优雅的方法来解决这个问题? 例子: 错误:重复的键值违反了唯一约束“pk_erichtest”