如何修复“生成最终归档错误:重复条目:AndroidManifest.xml”的问题。

35

我将两个项目放入Eclipse中,分别称为Project1和Project2。

Project1是独立的,但是Project2必须依赖于Project1。

当我构建Project2时,会出现以下错误消息:生成最终归档文件时出错:重复条目:AndroidManifest.xml

8个回答

54

我搞清楚了问题所在。我包含了一个有AndroidManifest.xml文件的JAR文件,这与我的项目自己的AndroidManifest.xml文件冲突。在我的情况下,解决方法是重新构建JAR文件,确保它不包含自己的AndroidManifest.xml版本,然后将新版本的JAR文件重新包含到我的项目中。这样做后,你可能需要清理一下项目。


很好知道,特别是当需要将项目作为JAR包包含在测试项目中时 - http://dtmilano.blogspot.com/2009/12/android-testing-external-libraries.html - scottyab
3
你是如何在重新构建jar文件时排除AndroidManifest.xml的? - Phillip
3
我的解决方案是从原始应用程序中删除清单。这导致了一个错误,但我并不在意,将其导出为JAR文件,将JAR文件添加到项目中,就完成了。 - erdomester
2
或者您可以从Eclipse中点击导出,然后选择jar文件,接着会弹出一个窗口,在右上角的窗口中取消选择AndroidManifest.xml,最后点击完成即可。 - Sheraz Ahmad Khilji

3

我几天前遇到了相同的问题,如果你将一个包含AndroidManifest.xml文件的JAR放在libs文件夹中,就会出现错误。如果你将该JAR放在项目外(例如桌面上),并在“Java Build Path”中使用“添加外部JAR”,则问题得以解决。


这是对我有效的解决方案。而且它非常简单。 - nyxee

3

我认为你正在使用Project1作为库文件。因此,在导出jar文件时,您应该在“选择要导出的资源”中取消选择AndroidManifest.xml。


1

我通过包含Android.R包而不是com.example.mypackage.R获得了第二个(不优雅的)AndroidManifest.xml文件。

症状:构建似乎有效,但启动时显示现有的工作区错误,需要先修复。一个AndroidManifest.xml在类中找到,另一个在名为resources.ap_的文件中。我简单地快速修复(包括android.R)工作区。

编辑:也没有起作用,工作区仍然处于困境中;项目中存在问题,需要修复...

编辑1:找不到应该包含AndroidManifest.xml的包。

编辑2:我考虑假设Android.jar中的第二个清单文件 - 看起来每个清单文件都会生成1个R.class。我删除了整个工作区。因为它只是一个游乐场。(然后我设置了Git。)


0
你会收到一系列与 AndroidManifest、main.xml、activity_main 相关的错误消息。因此,最好的解决方案是从项目中将它们(使用 shift+ctrl+R)重命名为其他名称。

这解决了我的问题。


0

清理项目1可能会有帮助。


0

你的库项目和应用程序项目可能存在类似的编译时依赖项,而 dex-er 无法识别重复项。

如果是这种情况,请将应用程序项目中依赖项的范围更改为“provided”范围。

由于它们在库项目中,因此依赖项将被包含,但由于在编译应用程序项目时它们是“提供的”,所以不会重复。


0

我只能在Android Studio中通过删除out/目录并让它重新构建所有内容来修复它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接