我将 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 jar 都能很好地协同工作吗?
最佳答案
我遇到了同样的问题。我只是在我的项目中使用了四个 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'
}
关于android - ReSTLet 错误 :duplicate files during packaging of APK in androidstudio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29647180/