Flutter:线程异常 "main" java.util.zip.ZipException:打开 zip 文件时出错
Flutter: Exception in thread "main" java.util.zip.ZipException: error in opening zip file
我在android studio 3.5 中创建了一个新的flutter 项目,但是遇到错误
Exception in thread "main" java.util.zip.ZipException: error in opening zip file
经过数小时的努力,我想出了解决方案。
我已将 gradle 包装器属性分发 url 版本更改为:5.5.1-all,它在我的系统中可用。
由于某种原因,android studio 正在获取我的系统中没有的最新版本。
将android->gradle->wrapper->gradle-wrapper.properties中的distributionUrl改为distributionUrl=https ://services.gradle.org/distributions/gradle-4.10.1-all.zip
下载 Graddle 文件时肯定有错误。检查 gradle/wrapper/gradle-wrapper.properties graddle_wrapper_properties_rectified_image
中的以下代码
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https://services.gradle.org/distributions/gradle-7.1-all.zip //change 7.1 to latest version available in below website
在我的例子中,'https' 之后有一个额外的 ':' 并且该数字是旧版本,但更正它对我有用。您可以参考以下网站了解文件类型“all.zip”的最新可用版本,并正确更新数字或整个 link,因为它大约为 150 MB。您需要有一个有效的互联网连接并按一次 运行 等待一段时间。在看到任何红线之前无需担心。
浏览到 the official Gradle Distributions webpage 并检查 gradle all.zip 文件的最新版本是什么,例如(在撰写本文时)gradle-6.7-all.zip
并复制地址
转到您的 Flutter 项目下拉列表,
下拉 android>gradle>包装器
Select gradle-wrapper-properties
粘贴您之前复制的 URL。例如:
distributionUrl=https://services.gradle.org/distributions/gradle-6.7-all.zip
我遇到了同样的问题。在我的例子中,distributionUrl 属性 中有一个额外的斜线。我使用这个网站 https://services.gradle.org/distributions/ 来获取 gradle -all.zip
的最新发行版。 (你会得到类似的东西:
https://services.gradle.org/distributions/gradle-6.7.1-all.zip)
然后,像这样在 gradle-wrapper.properties 文件中使用它:
distributionUrl=https://services.gradle.org/distributions/gradle-6.7.1-all.zip
Select 来自 gradle distributions 的合适的 Gradle 版本与你的 IDE.
例如,我有一个 android 工作室建于 2020 年 12 月 2 日
gradle-6.8-rc-2-all.zip 2020 年 12 月 17 日对我来说工作正常。
错误表示有 incomplete/corrupted gradle.*.zip 文件下载。在 gradle-wrapper.properties 中找到您的项目使用的 gradle 版本,版本应在 distributionUrl 值中指定。
移动到{user-home}/.gradle/wrapper/dists/{gradle-version}/{generated-folder}/* 并删除文件夹中的所有文件。
重新运行您的项目应该下载 gradle 文件
当您无法将所需的 gralde 文件下载到 运行 您的项目时,会发生这种情况。您可以从 gradle 分发站点手动下载并放入文件夹以解决问题。
我通过进入解决了它
android/gradle/gradle-wrapper.属性
并粘贴这些行:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip
尝试将您的 distributionUrl 更改为 gradle-7.1-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.1-all.zip
如果您的互联网连接不稳定,您可以尝试手动设置:
首先,从https://services.gradle.org/distributions/下载最新的gradle...-all.zip并解压。
目前最新版本是:https://services.gradle.org/distributions/gradle-7.3.1-all.zip
然后,执行描述的步骤 here:
Open <path_to_flutter_app>/android/gradlew
Find: CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
and replace with: CLASSPATH=<path_to_downloaded_gardle>/gradle-7.3.1/lib/gradle-launcher-4.6.jar
Find: exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
and replace with: exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.launcher.GradleMain "$@"
flutter run
我在android studio 3.5 中创建了一个新的flutter 项目,但是遇到错误
Exception in thread "main" java.util.zip.ZipException: error in opening zip file
经过数小时的努力,我想出了解决方案。
我已将 gradle 包装器属性分发 url 版本更改为:5.5.1-all,它在我的系统中可用。
由于某种原因,android studio 正在获取我的系统中没有的最新版本。
将android->gradle->wrapper->gradle-wrapper.properties中的distributionUrl改为distributionUrl=https ://services.gradle.org/distributions/gradle-4.10.1-all.zip
下载 Graddle 文件时肯定有错误。检查 gradle/wrapper/gradle-wrapper.properties graddle_wrapper_properties_rectified_image
中的以下代码distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https://services.gradle.org/distributions/gradle-7.1-all.zip //change 7.1 to latest version available in below website
在我的例子中,'https' 之后有一个额外的 ':' 并且该数字是旧版本,但更正它对我有用。您可以参考以下网站了解文件类型“all.zip”的最新可用版本,并正确更新数字或整个 link,因为它大约为 150 MB。您需要有一个有效的互联网连接并按一次 运行 等待一段时间。在看到任何红线之前无需担心。
浏览到 the official Gradle Distributions webpage 并检查 gradle all.zip 文件的最新版本是什么,例如(在撰写本文时)
gradle-6.7-all.zip
并复制地址转到您的 Flutter 项目下拉列表,
下拉 android>gradle>包装器
Select gradle-wrapper-properties
粘贴您之前复制的 URL。例如:
distributionUrl=https://services.gradle.org/distributions/gradle-6.7-all.zip
我遇到了同样的问题。在我的例子中,distributionUrl 属性 中有一个额外的斜线。我使用这个网站 https://services.gradle.org/distributions/ 来获取 gradle -all.zip
的最新发行版。 (你会得到类似的东西:
https://services.gradle.org/distributions/gradle-6.7.1-all.zip)
然后,像这样在 gradle-wrapper.properties 文件中使用它:
distributionUrl=https://services.gradle.org/distributions/gradle-6.7.1-all.zip
Select 来自 gradle distributions 的合适的 Gradle 版本与你的 IDE.
例如,我有一个 android 工作室建于 2020 年 12 月 2 日
gradle-6.8-rc-2-all.zip 2020 年 12 月 17 日对我来说工作正常。
错误表示有 incomplete/corrupted gradle.*.zip 文件下载。在 gradle-wrapper.properties 中找到您的项目使用的 gradle 版本,版本应在 distributionUrl 值中指定。
移动到{user-home}/.gradle/wrapper/dists/{gradle-version}/{generated-folder}/* 并删除文件夹中的所有文件。
重新运行您的项目应该下载 gradle 文件
当您无法将所需的 gralde 文件下载到 运行 您的项目时,会发生这种情况。您可以从 gradle 分发站点手动下载并放入文件夹以解决问题。
我通过进入解决了它 android/gradle/gradle-wrapper.属性 并粘贴这些行:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip
尝试将您的 distributionUrl 更改为 gradle-7.1-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.1-all.zip
如果您的互联网连接不稳定,您可以尝试手动设置: 首先,从https://services.gradle.org/distributions/下载最新的gradle...-all.zip并解压。
目前最新版本是:https://services.gradle.org/distributions/gradle-7.3.1-all.zip
然后,执行描述的步骤 here:
Open <path_to_flutter_app>/android/gradlew
Find: CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar and replace with: CLASSPATH=<path_to_downloaded_gardle>/gradle-7.3.1/lib/gradle-launcher-4.6.jar
Find: exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" and replace with: exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.launcher.GradleMain "$@"
flutter run