Android 找不到EOCD签名
我正在做一个firebase android项目。当我试图从android studio运行应用程序时,它显示了一个错误Android 找不到EOCD签名,android,android-studio,firebase,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 th
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.
其实,我不明白这是甚么问题,为何会出现这种情况?
有人能帮我吗?我同时面对这个错误和另一个错误: 任务“:app:packageDebug”的执行失败-读取zip文件失败 这两个问题都是由政府共同解决的 1) 从任务管理器终止OpenJDK平台二进制进程 2) 正在删除apk文件 3) 重新启动Android Studio 4) 清洁工程
此解决方案可能与所问问题无关,但它解决了这两个错误。然后从发布文件夹中删除app-release.apk和output.json 1.清洁的 2.重建
这些步骤对我很有效。删除输出apk文件可能会有所帮助。
Android studio在你身上浪费的时间和时间只需遵循以下两个步骤:
当您在构建拆分apk的同时将输出文件重命名为相同名称时,也会发生这种情况,只需删除app-release.apk即可。然后重建项目。这对我有用 以下是步骤:
可能已经晚了,但我似乎对EOCD问题有了一个可以解释的解决方案。 可以通过在项目中启用多索引来修复此问题 第1步: 应用程序内/build.gradle 在android块中
multiDexEnabled true
第二步:
在dependencies块中添加multidex gradle依赖项
implementation 'androidx.multidex:multidex:2.0.1'
第三步:
转到app/AndroidManifest.xml文件
若您已经通过name属性声明了一个应用程序,那个么打开扩展该应用程序的类文件,并用multidexapplication替换它
public class ApplicationController extends MultiDexApplication
现在构建应用程序,EOCD错误将得到修复。
至少在我的情况下是这样。好的。我找到了解决方案。启用多索引支持后,应用程序运行良好。我试图清理项目,但失败了,因为build/intermediaries/transform文件夹中的一些文件被OpenJDK平台二进制文件使用。我试图通过资源管理器手动删除文件夹,但失败。在杀死OpenJDK平台二进制文件之后,一切都变得正常了。可能是其中的一个错误。我有一个错误“EOCD开始于…但文件…”当Android Studio仍然打开时,第1步和第2步对我有效。是的,只有执行第1步和第2步解决了我的问题。感谢从模拟器中删除?@Saurabh no,项目路径中的输出文件,对我有用,谢谢。。啊,太糟糕了。android studio毫无意义。是的@Sergio,直到我们得到关于堆栈溢出的完美答案。