在 APK META-INF/mimetypes.default 中复制的重复文件
Posted
技术标签:
【中文标题】在 APK META-INF/mimetypes.default 中复制的重复文件【英文标题】:Duplicate Files Copied in APK META-INF/mimetypes.default 【发布时间】:2016-12-27 16:39:56 【问题描述】:我正在开发一个android app
。最近我从我的项目中删除了activation.jar
和mail.jar
,然后将它们添加回来。将它们添加回来后,在尝试运行我的 application
时,我收到以下错误:
Error:Execution failed for task
':app:transformResourcesWithMergeJavaResForDebug'
com.android.build.api.transform.TransformException:
com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/mimetypes.default
File1: C:\Android\Workspace\WeekendMovieRating\app\libs\activation.jar
File2: C:\Android\Workspace\WeekendMovieRating\app\libs\mail.jar
我搜索了解决方案并尝试了以下解决方案;
packagingOptions
exclude 'META-INF/DEPENDENCIES.txt'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/notice.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/dependencies.txt'
我在gradle.properties
中添加了上述代码并尝试运行application
,但仍然收到相同的error
。
然后我在观察我的error
消息后添加了以下代码:
exclude 'META-INF/mimetypes.default'
exclude 'META-INF/mailcap.default'
添加上述行后,它显示为BUILD SUCCESSFULL
,但显示为240 errors
。
Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.sun.mail.imap.DefaultFolder$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
...
...
...
Error:indicate that it is *not* an inner class.
:app:validateDebugSigning
:app:packageDebug
:app:zipalignDebug
:app:fullDebugBuildInfoGenerator
:app:assembleDebug
Information:BUILD SUCCESSFUL
Information:Total time: 1 mins 47.694 secs
Information:240 errors
Information:0 warnings
请发表您的答案。在此先感谢
【问题讨论】:
在添加库之前可以尝试清理吗? 嗨 Eenvincible,我在添加 jar 文件之前删除了jar files
和 cleaned project
,但仍然收到相同的错误。
【参考方案1】:
您遇到的错误与 Proguard 相关,与您最初发布的重复文件问题无关。
您应该相应地更新您的标题和描述以反映这一点。
除非您提供有关 proguard 问题的更详细信息,否则很难解决。
您可以查看similar 问题,了解您需要添加到 proguard 配置中的内容。
【讨论】:
title
和 description
是什么意思?
我应该如何post
提供有关proguard issue
的更多信息?
我只是说您的原始问题具有误导性,因此我建议您编辑有关 Proguard 而不是 META-INF 的原始问题。以及添加适当的标签以获得更好的曝光。
您应该在此处将完整的“240 proguard 错误”作为公共 github gist/pastebin 发布。所以我们可以更好地了解这个问题。我想如果你不知道什么 proguard/或对保留它不感兴趣。您可以简单地禁用它。
我删除了activation.jar
和mail.jar
,然后添加了新的activation.jar
和mail.jar
。添加new jars
创建了问题。我删除了newly added jars
并添加了我首先删除的back up jars
。这解决了问题。【参考方案2】:
packagingOptions
pickFirst 'META-INF/mailcap.default'
pickFirst 'META-INF/LICENSE.txt'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/notice.txt'
exclude 'META-INF/ASL2.0'
exclude 'META-INF/mimetypes.default'
exclude 'META-INF/mailcap.default'
将此用于打包选项
【讨论】:
以上是关于在 APK META-INF/mimetypes.default 中复制的重复文件的主要内容,如果未能解决你的问题,请参考以下文章
Flutter 卡在安装 build\app\outputs\apk\app.apk