【问题标题】:Restlet Error:duplicate files during packaging of APK in androidstudioRestlet 错误:在 android studio 中打包 APK 时出现重复文件
【发布时间】:2015-06-21 05:37:06
【问题描述】:

我将 restlet-android-2.3.1 存档中的所有 jar 添加到我在 android studio 中的 libs 文件夹中。我可以制作项目,但是当我尝试调试时,我得到了这个错误

    Path in archive: META-INF/services/org.restlet.engine.converter.ConverterHelper
    Origin 1: D:\android\restlet\app\libs\org.restlet.ext.gson.jar
    Origin 2: D:\android\restlet\app\libs\org.restlet.ext.html.jar
You can ignore those files in your build.gradle:
    android {
      packagingOptions {
        exclude 'META-INF/services/org.restlet.engine.converter.ConverterHelper'
      }
    }

Error:Execution failed for task ':app:packageDebug'.
> Duplicate files copied in APK META-INF/services/org.restlet.engine.converter.ConverterHelper
    File 1: D:\android\restlet\app\libs\org.restlet.ext.gson.jar
    File 2: D:\android\restlet\app\libs\org.restlet.ext.gson.jar

如果,例如:

  packagingOptions {
        exclude 'META-INF/services/org.restlet.engine.converter.ConverterHelper'
      }

然后我得到这个:

Error:duplicate files during packaging of APK D:\android\restlet\app\build\outputs\apk\app-debug-unaligned.apk
Path in archive: META-INF/services/org.restlet.engine.ClientHelper
Origin 1: D:\android\restlet\app\libs\org.restlet.ext.sip.jar
Origin 2: D:\android\restlet\app\libs\org.restlet.ext.nio.jar
You can ignore those files in your build.gradle:
android {
  packagingOptions {
    exclude 'META-INF/services/org.restlet.engine.ClientHelper'
  }
}

等等。

我添加排除的类是基类,并在其他 jar 中引用。 如果要从 libs 文件夹中删除有问题的 jar,那么它会起作用,但我最终切断了其中的一半。我会需要它们的。如何解决这个问题?所有这些restlet jars 一起玩好吗?

【问题讨论】:

    标签: android jar android-studio apk restlet


    【解决方案1】:

    我遇到了同样的问题。我只是在我的项目中使用了四个 restlet jar,并且必须将以下内容放入 build.gradle 文件中。你会认为有一些工作室范围的设置,比如“忽略重复”,但我没有找到。我最终添加了足够的排除项以使其正常工作。

    packagingOptions {
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/services/com.fasterxml.jackson.core.JsonFactory'
        exclude 'META-INF/services/com.fasterxml.jackson.core.ObjectCodec'
    }
    

    【讨论】:

    • 在我的例子中是:packagingOptions { PackagingOptions { exclude 'META-INF/services/org.restlet.engine.converter.ConverterHelper' exclude 'META-INF/services/org.restlet.engine. ClientHelper' 排除 'META-INF/services/org.restlet.engine.ServerHelper' }
    猜你喜欢
    • 2015-08-02
    • 2015-12-11
    • 2014-04-23
    • 1970-01-01
    • 2014-08-11
    • 2015-12-20
    相关资源
    最近更新 更多