Android Studio 打包生成apk出现异常

问题描述:Android Studio打包生成spk出现以下异常

Error:Execution failed for task ':app:transformClassesWithJarMergingForRelease'.

com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: android/support/v4/app/TaskStackBuilder$TaskStackBuilderImpl.class

13个回答

说错了,是方法参照楼上:
dependencies {
compile("com.google.firebase:firebase-ads:9.4.0") {
exclude module: 'support-v4'
}
}
这个意思是,去除“com.google.firebase:firebase-ads:9.4.0”中的“exclude module: 'support-v4'”包依赖。

zhangyanqiu12
zhangyanqiu12 回复hell21: 你确定你解除依赖的包是对的?你这都报出错误原因是因为那个class文件了。基本上可以确定是因为这个文件的重名问题。
一年多之前 回复
hell21
Venvo 试过了,还是报错。
一年多之前 回复

v4包重复了?尽量用implementation替换compile

hell21
Venvo 你是指所有的compile用implementation来替换,可以举个例子吗?
一年多之前 回复

clean一下再编译

hell21
Venvo 试过了,还是报错。
一年多之前 回复

在build菜单里选择clean,把工程清除一下

clean一下再编译,应该可以

应该是你项目或者依赖项目里有jar包冲突了,你看一下有哪些包里面有TaskStackBuilderImpl这个类,只能有一个这个类

检查一下你的程序是否重复调用了什么

因为重复引用了。这样解决:
dependencies {
compile("com.google.firebase:firebase-ads:9.4.0") {
exclude module: 'support-v4'
}

}

说的应该是:android/support/v4/app/TaskStackBuilder$TaskStackBuilderImpl.class这个包里的这个类跟别的包中的某个类名字重复了。有可能是V4和V7包重复。可以将这个类名改了(这个方法很麻烦),也可以去除别的包对于这个V4包的依赖。方法参照1楼。

应该是jar包冲突,最快捷有效也是最暴力的就是根据路径找到 提示重负的类TaskStackBuilderImpl这个类。直接删除。studio里不允许删除的话,就电脑文件找到路径去删除。

leol_2
岩浆李的游鱼 回复zhangyanqiu12: 步骤是:电脑文件找到jar包,右键--打开方式---WinRAR 压缩文件管理器(我这里用的是这个)。打开之后想增加想删除随便你自己。这种方式简单暴力。当然有其他方式更推荐。最后在说一句,你的回答网上一大堆。但是都不起作用。是不
一年多之前 回复
leol_2
岩浆李的游鱼 回复zhangyanqiu12: 你跟我说不能删除??哥高数你详细步骤,但是要注意的是,把要删除的备份一下 删错了再加回去。
一年多之前 回复
zhangyanqiu12
zhangyanqiu12 大哥,依赖包内部的类,是封包jar文件内的,没法单独删一个类吧。
一年多之前 回复
共13条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!