17

我有一个使用一些库的应用程序。

问题是,当我尝试导出 apk 文件时,我得到“在 APK 内相同路径的重复文件”。

这是日志:

org.eclipse.core.runtime.CoreException: Duplicate files at the same path inside the APK
at com.android.ide.eclipse.adt.internal.project.ExportHelper.exportReleaseApk(ExportHelper.java:284)
at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard.doExport(ExportWizard.java:295)
at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard.access$0(ExportWizard.java:232)
at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard$1.run(ExportWizard.java:217)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Caused by: com.android.sdklib.build.DuplicateFileException: Duplicate files at the same path inside the APK
at com.android.sdklib.build.ApkBuilder$JavaAndNativeResourceFilter.checkEntry(ApkBuilder.java:123)
at com.android.sdklib.internal.build.SignedJarBuilder.writeZip(SignedJarBuilder.java:225)
at com.android.sdklib.build.ApkBuilder.addResourcesFromJar(ApkBuilder.java:563)
at com.android.ide.eclipse.adt.internal.build.BuildHelper.finalPackage(BuildHelper.java:372)
at com.android.ide.eclipse.adt.internal.project.ExportHelper.exportReleaseApk(ExportHelper.java:255)
... 4 more

任何人都必须处理这个问题?

非常感谢。

编辑:解决方案

我弄清楚了问题所在。我包含了一个 JAR 文件,其中包含一个 AndroidManifest.xml 文件,该文件与我自己项目的 AndroidManifest.xml 文件冲突。我的实例中的解决方案是重建 JAR 文件,确保它排除了自己的 AndroidManifest.xml 版本,然后将新版本的 JAR 文件重新包含到我的项目中。执行此操作后,您可能需要清理项目。

4

3 回答 3

18

如果您在使用 Maven 进行构建时碰巧遇到了这个问题,我可以通过输入以下内容来解决它:

<extractDuplicates>true</extractDuplicates>

进入 Maven Android 插件配置标签。

于 2013-09-17T15:20:35.513 回答
5

Check the external jars you have imported in your application..

Project Properties -> Java Build Path -> Libraries -> Add External JARs...

There might be some duplicate files imported!

于 2012-09-10T07:25:42.620 回答
3

我弄清楚了问题所在。我包含了一个 JAR 文件,其中包含一个 AndroidManifest.xml 文件,该文件与我自己项目的 AndroidManifest.xml 文件冲突。我的实例中的解决方案是重建 JAR 文件,确保它排除了自己的 AndroidManifest.xml 版本,然后将新版本的 JAR 文件重新包含到我的项目中。执行此操作后,您可能需要清理项目。

于 2012-09-10T07:30:32.257 回答