You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio 3.1运行报错:Program type already present异常求助

解决「Program type already present: org.apache.http.ConnectionClosedException」异常

这个错误本质是重复依赖了包含org.apache.http.ConnectionClosedException类的库,结合你的项目配置(compileSdk 27),可以按以下步骤排查解决:

1. 先排查重复依赖来源

打开Android Studio的Terminal,执行依赖分析命令,找出重复引入的库:

  • Mac/Linux用户运行:
    ./gradlew app:dependencies
    
  • Windows用户运行:
    gradlew.bat app:dependencies
    

在输出结果里搜索org.apache.http相关条目,看是否有多个模块同时引入了包含该类的库(比如org.apache.httpcomponents:httpclient,或是某些第三方SDK自带了apache http相关类)。

2. 排除重复的依赖

如果发现某个第三方依赖自带了冲突的apache http库,在对应的依赖声明里添加排除规则。比如假设com.example:third-party-sdk:1.0是冲突来源,就修改build.gradle:

implementation('com.example:third-party-sdk:1.0') {
    exclude group: 'org.apache.httpcomponents', module: 'httpclient'
}

3. 适配Android 23+的Apache Http配置

从Android 6.0(API 23)开始,系统移除了对Apache Http客户端的内置支持,如果你确实需要使用相关功能,可以在build.gradle的android块里添加:

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

这一步是引入系统提供的遗留apache http库,避免自己引入的库和系统残留类冲突。

4. 清理项目缓存

缓存也可能导致奇怪的重复类问题,执行以下操作:

  • 点击顶部菜单栏Build → Clean Project
  • 接着点击Build → Rebuild Project
  • 也可以手动删除项目根目录的.gradle文件夹和app模块下的build文件夹,再重新同步项目。

额外提示

因为你开启了multiDexEnabled true,确保你的Application类正确继承MultiDexApplication,或者在attachBaseContext方法里调用MultiDex.install(this),避免多dex场景下的类加载冲突。

内容的提问来源于stack exchange,提问作者dj_4war

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:20:58