Gradle sync失败:原因:CEN标头无效(签名错误)

时间:2017-04-06 13:55:39

标签: android android-studio android-gradle

昨天,我更新了我的android工作室以发布2.3.1。

从那时起我收到以下错误

同步gradle项目时

Gradle sync failed: Cause: invalid CEN header (bad signature)

idea.log文件显示以下内容:

2017-04-06 19:02:04,357 [  21782]   WARN - nal.AbstractExternalSystemTask - Cause: invalid CEN header (bad signature) com.intellij.openapi.externalSystem.model.ExternalSystemException: Cause: invalid CEN header (bad signature)
at com.android.tools.idea.gradle.project.sync.idea.ProjectImportErrorHandler.getUserFriendlyError(ProjectImportErrorHandler.java:86)
at com.android.tools.idea.gradle.project.sync.idea.AndroidGradleProjectResolver.getUserFriendlyError(AndroidGradleProjectResolver.java:361)
at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver$ProjectConnectionDataNodeFunction.fun(GradleProjectResolver.java:769)
at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver$ProjectConnectionDataNodeFunction.fun(GradleProjectResolver.java:749)
at org.jetbrains.plugins.gradle.service.execution.GradleExecutionHelper.execute(GradleExecutionHelper.java:227)
at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.resolveProjectInfo(GradleProjectResolver.java:112)
Caused by: java.util.zip.ZipException: invalid CEN header (bad signature)
    at java.util.zip.ZipFile.open(Native Method)
    at java.util.zip.ZipFile.<init>(ZipFile.java:219)
    at java.util.zip.ZipFile.<init>(ZipFile.java:149)
    at java.util.zip.ZipFile.<init>(ZipFile.java:163)
    at     org.gradle.api.internal.classpath.DefaultModuleRegistry.loadModuleProperties(DefaultModuleRegistry.java:184)
    at org.gradle.api.internal.classpath.DefaultModuleRegistry.loadModule(DefaultModuleRegistry.java:88)
    at org.gradle.api.internal.classpath.DefaultModuleRegistry.getModule(DefaultModuleRegistry.java:77)
    at org.gradle.api.internal.classpath.DefaultPluginModuleRegistry.getPluginModules(DefaultPluginModuleRegistry.java:39)
    at org.gradle.api.internal.DynamicModulesClassPathProvider.findClassPath(DynamicModulesClassPathProvider.java:47)
    at org.gradle.api.internal.DefaultClassPathRegistry.getClassPath(DefaultClassPathRegistry.java:34)
    at org.gradle.initialization.DefaultClassLoaderRegistry.<init>(DefaultClassLoaderRegistry.java:31)
    at org.gradle.internal.service.scopes.GlobalScopeServices.createClassLoaderRegistry(GlobalScopeServices.java:224)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)    at java.lang.reflect.Method.invoke(Method.java:498)

正如提到的其他一些主题,到目前为止已完成以下任务:

  1. 从工具中删除了gradle-xxx.zip文件并重新下载了zip文件,但似乎没有用。

  2. 我还创建了一个虚拟项目,看看这是否是项目特定问题,但是遇到了同样的问题

  3. 我还从sdk管理器中删除了SDK工具和SDK并再次安装它们但出现了同样的错误

  4. 我现在完全陷入困境,并没有看到前进的方向:(任何建议都会有所帮助

5 个答案:

答案 0 :(得分:0)

尝试@Avishek Das建议,如果它不起作用,请尝试以下方法:

  1. 导航至用户/ {您的姓名} / .gradle / wrapper / dists
  2. 检查 gradle-3.x-all 目录
  3. 中的版本号
  4. 删除目录,然后转到https://services.gradle.org/distributions/并手动下载相同的gradle版本 gradle-3.x-all.zip ,而不是从Android Studio下载。
  5. 下载完成后,将zip文件复制到用户/ {您的姓名} / .gradle / wrapper / dists 目录并解压缩。
  6. 确保Android Studio 偏好设置 - >构建,执行,部署 - &gt; Gradle:服务目录路径:指向用户/ {您的名字} / .gradle < / strong>目录

答案 1 :(得分:0)

最后通过从

更改build.gradle中的设置来解决此问题

com.android.tools.build:gradle:3.0.0

com.android.tools.build:gradle:2.3.1

答案 2 :(得分:0)

  1. 删除Gradle文件夹,位于:用户/ {您的名字} /。gradle
  2. 重新启动android studio,它将再次下载gradle依赖项。

答案 3 :(得分:0)

  1. CTRL + ALT + SHIFT + s。它将打开项目结构,现在单击该项目。
  2. 将 Gradle 版本和 android Gradle 版本更改为比当前版本小 1,然后单击“确定”。
  3. 工作室将开始构建您的项目。

Project Structure

答案 4 :(得分:0)

flutter clean 然后 flutter pub get 解决了我的问题