ProcessException:进程“ C:\ .. \ myapp \ android \ gradlew.bat”异常退出:

时间:2018-11-14 12:33:14

标签: dart flutter

ProcessException: Process "C:\Users\User\Desktop\Courses\flutter\myapp\android\gradlew.bat" exited abnormally:
Exception in thread "main" java.lang.RuntimeException: Timeout of 120000 reached waiting for exclusive access to file: C:\Users\User\.gradle\wrapper\dists\gradle-4.10.2-all\9fahxiiecdb76a5g3aw9oi8rv\gradle-4.10.2-all.zip
    at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:61)
    at org.gradle.wrapper.Install.createDist(Install.java:48)
    at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:128)
    at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
  Command: C:\Users\User\Desktop\Courses\flutter\myapp\android\gradlew.bat -v

当我从vs代码运行我的flutter应用程序时,它显示此错误,这是怎么了?

9 个答案:

答案 0 :(得分:4)

这是我要解决的步骤。

  1. 在您的操作系统(而不是vs代码外壳)给出的命令提示符下运行flutter run

  2. 确保您的互联网连接良好。

答案 1 :(得分:3)

对我来说,问题在于初始化Gradle时我的互联网连接无法下载Gradle二进制文件。我怀疑是因为我落后于代理人。

尝试下载并手动安装。

  1. 下载latest Gradle version
  2. 将ZIP文件提取到PC上的某个位置,即C:\ Gradle
  3. 添加环境变量GRADLE_HOME指向此位置。
  4. GRADLE_HOME/bin添加到您的PATH环境变量中。

答案 2 :(得分:1)

如果您有许可证问题,这可能会有所帮助。

  1. 在命令提示符下运行flutter doctor。如果您得到此:   !某些Android许可证不被接受。
  2. 运行flutter doctor --android-licenses并接受所有许可证。
  3. 现在运行flutter run,一切顺利。

答案 3 :(得分:1)

在Windows的.gradle或Mac的C:\Users***.gradle中删除/Users/xxxx/.gradle文件夹,连接到互联网,重建项目以下载最新的Gradle。

答案 4 :(得分:0)

对于Linux用户,问题在于您的gradle安装:

  1. 导航到主目录中的.gradle文件夹
  2. 打开wrapper/dists,您将找到所有的gradle安装
  3. 如果只找到一个,请删除它,然后从vs-code重新运行您的飞镖代码
  4. 确保您的网络连接良好,因为该过程将尝试下载新的gradle。
  5. 如果您安装了多个gradle,请返回vs代码,并记下它抱怨的gradle版本。
  6. 删除该版本,然后重新运行您的飞镖代码(不要忘记获得良好的互联网连接)。

答案 5 :(得分:0)

在android studio的新窗口中以编辑模式打开gradlew.bat文件,并解决gradle问题。 我只是删除gradle-4.10.2-all并重建我的项目。

答案 6 :(得分:0)

我通过删除flutter sdk解决了该错误,然后再次下载。确保您拥有良好的互联网。

答案 7 :(得分:0)

    defaultConfig {
    // TODO: Specify your own unique Application ID 
        (https://developer.android.com/studio/build/application-id.html).
        applicationId "com.match_hire"
        minSdkVersion 16
        targetSdkVersion 28
        multiDexEnabled true
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
   }

添加multiDexEnabled true可能有效

答案 8 :(得分:0)

我已经通过在android studio中安装android项目解决了这个问题,并且android studio向我显示了您的Kotlin版本不兼容的错误,所以我升级了Kotlin版本。

ext.kotlin_version:   '1.2.71' ->  '1.3.50'

一切正常。