嗨,我在运行我的android项目时遇到了以下错误:
Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: org/apache/xmlbeans/xml/stream/Location.class
我已经在互联网上搜索过这个问题,不同类型的解决方案提供了一些如下所示:
1] Enable multidex, (by doing `multiDexEnabled true`),
2] Remove support library v4 as v7 comes with it, (I am using only v7),
3] Increase jvm heap size through gradle or through gradle.properties,
2] Do not use multiple playstore library versions (Which I am not using already)
当我在gradle中添加Apache POI的依赖项时,上述一切都开始了,如下所示:
dependencies {
....
compile group: 'org.apache.poi', name: 'poi-ooxml', version: '3.14'
}
在我的案例中,上述方法都不起作用。为什么会发生这种情况&什么是可靠的解决方案。
发布于 2016-07-06 16:03:55
在Android上使用POI时,有一些项目试图解决一些问题。
请看一下示例项目https://github.com/centic9/poi-on-android/,它允许为Android上的POI构建一个单独的jar文件。它删除了重复项,还修复了一些其他问题,包括禁止的包名和其他问题。
该领域的另一个项目是https://github.com/andruhon/android5xlsx,但是它目前只支持旧版本的POI。
发布于 2021-06-26 13:31:35
另一种解决方法是排除在实现中被视为错误的组,并尝试再次运行。
如下所示:
implementation ('org.apache.poi:poi-ooxml:3.17')
{
exclude group: 'org.apache.xmlbeans', module: 'xmlbeans'
//https://stackoverflow.com/a/56029604/7710739
}
注意:检查您的构建错误,并将您获得的类替换为重复类。
发布于 2016-07-06 14:14:32
在做了一些其他阅读后,我发现在android中使用poi库存在问题,请参阅下面的链接:
https://bz.apache.org/bugzilla/show_bug.cgi?id=59268#c0
https://github.com/andruhon/android5xlsx上的项目已经减少了poi.jar & poi-ooxml.jar的库版本,请将它们导入到您的libs文件夹中,并在gradle中包含以下代码:
compile fileTree(include: ['*.jar'], dir: 'libs')
这样做的原因是创建这个项目的人已经从基本的poi.jar中排除了xmlbeans.jar,这与安卓的构建有问题。功劳归功于安德鲁。
这个变通方法在我身上起作用了,因此我将其作为答案发布
https://stackoverflow.com/questions/38201667
复制相似问题