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

Android编译报错:Program type already present: android.support.v4.app.ActionBarDrawerToggle$Delegate

解决 "Program type already present: android.support.v4.app.ActionBarDrawerToggle$Delegate" 编译错误

Hey there! 这个报错我之前处理过,核心原因是你的项目里重复引入了Android Support Library v4包,导致编译时出现类定义冲突。结合你的build.gradle配置,给你针对性的解决方案:

1. 移除本地的support-v4 jar包

你的依赖配置里同时存在本地的support-v4-19.0.1.jar和其他依赖(比如com.android.support:multidex),这是冲突的主要来源:

  • 删除dependencies块里的这一行:implementation files('libs/support-v4-19.0.1.jar')
  • 同时把项目libs目录下的support-v4-19.0.1.jar文件彻底删除

2. 统一使用官方版本的support-v4依赖(推荐)

既然你的compileSdkVersion是27,建议使用对应版本的官方support-v4库来替代本地jar,这样能和其他依赖的版本保持一致,避免版本差异带来的问题:

implementation 'com.android.support:support-v4:27.1.1'

3. 固定play-services版本并确认exclude生效

你已经在play-services依赖里排除了support-v4,但使用+号自动选择版本容易带来未知冲突,建议固定到和compileSdk 27兼容的版本,比如:

implementation ('com.google.android.gms:play-services:12.0.1'){
    exclude module: 'support-v4'
}

4. 清理并重新构建项目

完成上述修改后,执行以下操作确保生效:

  • 点击Android Studio顶部菜单栏的 Build -> Clean Project
  • 接着执行 Build -> Rebuild Project

另外,从错误日志看你开启了multiDex,记得检查你的Application类要么继承自MultiDexApplication,要么在attachBaseContext方法里调用MultiDex.install(this),不过这部分不是当前报错的直接原因,只是个小提醒~


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:08:59