我将所有的jar从restlet-android-2.3.1存档添加到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文件夹中删除有问题的罐子,那么它将起作用,但我最终切断了其中一半。我需要他们。如何解决这个问题?所有这些重型罐子都能很好地配合使用吗?
答案 0 :(得分:2)
我遇到了同样的问题。我只是在我的项目中使用了四个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'
}