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

Android应用运行报错:发现多个'META-INF/mailcap.default'文件

解决Android项目中Gmail发送邮件时的META-INF文件冲突问题

你遇到的这个错误是典型的依赖库资源冲突——多个引入的jar包都包含了META-INF/mailcap.default文件,导致打包时出现重复文件冲突。我给你几个实用的解决办法:

方法一:在build.gradle中排除重复的META-INF文件

在你的android代码块里添加packagingOptions配置,明确排除冲突的文件:

android {
    compileSdkVersion 26
    defaultConfig {
        // 你的原有默认配置内容...
    }

    // 新增这段配置解决文件冲突
    packagingOptions {
        exclude 'META-INF/mailcap.default'
        exclude 'META-INF/mailcap'
        // 若还有其他类似冲突文件(比如LICENSE、NOTICE类),也可一并排除
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/NOTICE.txt'
    }
}

方法二:统一使用适配Android的JavaMail依赖

如果你的项目引入了JavaMail相关依赖,可能是混用了不同版本或不适配Android的库导致的冲突。建议替换为专门适配Android的邮件库:

dependencies {
    // 替换成适配Android的邮件与激活库
    implementation 'com.sun.mail:android-mail:1.6.7'
    implementation 'com.sun.mail:android-activation:1.6.7'
}

同时注意不要重复引入其他邮件相关依赖(比如同时存在javax.mail和com.sun.mail的库)。

方法三:清理项目缓存后重新构建

有时候缓存也会引发奇怪的冲突,试试以下步骤:

  • 点击Android Studio菜单栏的Build -> Clean Project
  • 接着点击Build -> Rebuild Project
  • 最后选择File -> Invalidate Caches...,点击Invalidate and Restart重启IDE

如果以上方法都没解决问题,可以把完整的dependencies代码块贴出来,这样能更精准地定位冲突来源~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:21:06