未找到EOCD签名

时间:2017-10-16 05:27:29

标签: android android-studio firebase

我正在开发一个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.

实际上,我无法弄清楚这个问题是什么以及为什么会出现这个问题? 有没有人可以帮助我?

8 个答案:

答案 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。然后重建项目。这对我有用。

firebase_remote_config

答案 4 :(得分:1)

步骤如下:

  1. 删除整个构建文件夹(转到项目视图可以轻松找到它) enter image description here
  2. 清理项目
  3. 再次运行项目并安装

答案 5 :(得分:0)

只需执行以下两个步骤:

  1. 清洁项目
  2. 重建项目

答案 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 错误将被修复。 至少在我的情况下是这样。