在APK内的同一路径上复制文件

时间:2012-09-10 07:11:04

标签: android android-library

我有一个使用某些图书馆的应用程序。

问题在于,当我尝试导出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

任何人都必须解决这个问题吗?

非常感谢。

编辑:解决方案

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

3 个答案:

答案 0 :(得分:18)

如果您在使用Maven进行构建时碰巧遇到此问题,我可以通过输入来修复它:

<extractDuplicates>true</extractDuplicates>

进入Maven Android插件配置标签。

答案 1 :(得分:5)

检查您在应用程序中导入的外部jar ..

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

可能会导入一些重复文件!

答案 2 :(得分:3)

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