我正在开发一个firebase android项目。当我尝试从android studio运行该应用程序时,它显示错误。
Error:Execution failed for task ':app:transformDexArchiveWithDexMergerForDebug'.
> com.android.build.api.transform.TransformException: java.io.IOException: EOCD signature not found in the last 22 bytes of the file.
实际上,我无法弄清楚这个问题是什么以及为什么会出现这个问题? 有没有人可以帮助我?
答案 0 :(得分:10)
删除输出的apk文件可能会有所帮助。 天数小时浪费在您的Android Studio上
答案 1 :(得分:7)
然后从发布文件夹中删除app-release.apk和output.json 1.清洁 2.重建
这些步骤对我有用。
答案 2 :(得分:4)
我同时遇到另一个错误: 任务':app:packageDebug'的执行失败-无法读取zip文件。
两个问题都由
解决1)从任务管理器中终止OpenJDK Platform Binary进程
2)删除apk文件。
3)重新启动Android Studio
4)清洁项目
此解决方案可能与所提出的问题无关,但对我来说都可以解决两个错误。
答案 3 :(得分:4)
只需删除app-release.apk。然后重建项目。这对我有用。
答案 4 :(得分:1)
答案 5 :(得分:0)
只需执行以下两个步骤:
答案 6 :(得分:0)
当您在创建拆分APK并将输出文件重命名为相同名称时也会发生这种情况
答案 7 :(得分:0)
可能已经晚了,但我似乎对 EOCD 问题有一个可解释的解决方案。 它可以通过在您的项目中启用 multidex 来修复。
第 1 步: 在 app/build.gradle 中 在android块
multiDexEnabled true
第 2 步: 在依赖块中添加 multidex gradle 依赖
implementation 'androidx.multidex:multidex:2.0.1'
第 3 步: 转到 app/AndroidManifest.xml 文件 如果您通过 name 属性声明了一个应用程序,请打开扩展 Application 的类文件并将其替换为 MultiDexApplication。
public class ApplicationController extends MultiDexApplication
现在构建您的应用程序,EOCD 错误将被修复。 至少在我的情况下是这样。