Flutter应用停留在“正在运行Gradle任务'assembleDebug'...”

时间:2019-12-29 02:19:14

标签: gradle flutter yaml flutter-dependencies

请帮助我

运行应用程序时,它会卡住

Launching lib\main.dart on Lenovo A319 in debug mode...
Running Gradle task 'assembleDebug'...
(This is taking an unexpectedly long time.)

它永远不会初始化Gradle或依赖项

44 个答案:

答案 0 :(得分:50)

这是我的解决方案。

  1. 打开Flutter Project目录。
  2. 在Flutter项目目录cd android中将目录更改为android目录
  3. 干净的gradle ./gradlew clean
  4. 构建gradle ./gradlew build,也可以仅将./gradlew clean build与这两个命令结合使用(感谢@daniel作为提示)
  5. 现在运行您的flutter项目。如果使用vscode,请按F5。 gradle第一次运行assembleDebug需要时间。

PS:在所有步骤都不起作用的情况下删除gradle

答案 1 :(得分:36)

flutter run -v显示我被困在

Downloading https://services.gradle.org/distributions/gradle-5.6.2-all.zip

这将花费几个小时,因为某种原因,在良好的DSL连接上,下载速度约为10kB / s。

解决方案:

  1. 中断gradle构建
  2. 从快速镜像下载所需的gradle zip:aiohttp
  3. gradle-5.6.2-all.zip复制到C:\Users\ <MyUsername>\.gradle\wrapper\dists\gradle-5.6.2-all\9st6wgf78h16so49nn74lgtbb(当然,最后一个文件夹在您的PC上将具有不同的名称)
  4. flutter run和voilà。

答案 2 :(得分:17)

就我而言,Windows防火墙导致了此问题。我暂时禁用它之后,问题就消失了。值得一试。祝你好运!

答案 3 :(得分:5)

使用Archlinux的原因有两个:

  1. 我需要将unset TERM设置为xterm-256colorreference)。
  2. 出于某种原因,颤振稳定对我不起作用;因此我改用了flutter channel master和&flutter upgrade。当master中的修复程序变得稳定(reference)时,我将能够切换回稳定的抖动。

答案 4 :(得分:5)

如果您使用的是Windows: 尝试将防火墙例外添加到您的Android Studio中。

  1. 转到:

    控制面板\系统和安全性\ Windows Defender防火墙\允许的应用程序

  2. 点击按钮:

    允许其他应用

  3. 添加新的防火墙例外:

    studio.exe和studio64.exe

我希望这对您也有用。

答案 5 :(得分:4)

如果“运行Gradle”任务的assembledebug花费了异常长时间, 尝试在您的项目中更新Gradle。 (下载最新的zip文件)

您可以按照此answer中的步骤操作。

或尝试:

  1. 在Android Studio中打开项目
  2. 在“项目”面板中右键单击android
  3. 转到Flutter,然后单击“在Android Studio中打开Android模块”。

(请参阅屏幕截图以供参考)

Steps 1 to 3

这应将项目作为Android项目打开。

  1. 现在,在右侧面板中单击“渐变”。
  2. 接下来,点击“执行Gradle任务”图标

Steps 4 and 5

这应该打开一个“运行任何东西”窗口。

  1. 现在,运行命令gradlew clean
  2. 然后运行gradlew build
  3. 如果Android Studio提示您“更新Gradle插件”,请执行此操作。

Update Gradle Plugin

此更新将下载所需的.zip文件。 而且,此后您的应用程序应该可以正常运行。

答案 6 :(得分:3)

由于Zen Kernel,此问题在我的系统上发生。

我安装了Linux-LTS内核并使用它启动系统。

然后我的项目支持再次编译。

答案 7 :(得分:3)

我正在Ubuntu 18.04上使用VS Code

对我来说,这是我所连接的设备的相应android sdk构建工具的后台下载。运行flutter run -v表明它正在下载android SDK构建工具,这通常需要一些时间。完成后,Flutter应用程序将编译并成功运行。

解决方案

  1. 确保您已安装android sdk工具并将其添加到环境路径。 我假设您已经下载了android sdk工具。

  2. 确保已安装gradle并将其添加到路径中

  3. 确保您已安装最新的飞镖和颤动的SDK

对于第1和第2条,请参阅此帖子:

Setting up flutter without Android studio

答案 8 :(得分:2)

在Android Studio中:

工具-> Flutter-> Flutter干净。

之后,只需运行应用

答案 9 :(得分:1)

我通过在终端上运行项目时关闭防病毒软件解决了该问题

要在终端中运行项目,只需键入-> flutter run

答案 10 :(得分:1)

我在运行应用程序而未调试时偶然发现了这个问题。有两种选择

  1. 开始调试
  2. 无需调试即可运行

我一直都在做第二种选择,这让我陷入了正在运行的渐变循环中。我用第一个选项解决了问题。

答案 11 :(得分:1)

就我而言,我需要更新Android SDK内置工具。

在Android Studio Tools->SDK Manager-SDK tools中打开。 标记为Android SDK内置工具,然后按“应用”,等待更新。 更新后,按“应用”并尝试运行。

android SDK built-tools

答案 12 :(得分:1)

这对我有用。我在许可接受方面遇到了问题。 首先,您需要浏览flutter目录,然后运行命令

C:\Users\thrishool\flutterProjects\flutter>flutter doctor

然后它将显示是否一切正常。我遇到一个问题,我不接受所有许可证。因此您需要全部接受。现在在cmd中键入

C:\Users\thrishool\flutterProjects\flutter>flutter doctor --android-licenses

接受所有许可证,您就可以参加了。

答案 13 :(得分:1)

我在项目中使用了“ flutter clean”命令,它恢复正常工作,请尝试。 Igual a imagem

flutter clean

答案 14 :(得分:1)

这有助于:检查root / android / app / build.gradle SDK版本是否设置为最低28: compileSdkVersion 28和targetSdkVersion 28

在导入Firestore时发生。

答案 15 :(得分:1)

在Windows 10上花费时间,因为Android Studio需要防火墙许可才能连接到设备(AVD)。 您可能还没有在计算机上下载完整的Android SDK的另一个原因。 要检查该问题,只需在您的terminal / cmd / PowerShell命令工具上运行命令。

flutter doctor flutter doctor

检查是否已安装SDK。 尝试使用以下命令安装并接受许可证

flutter doctor --android-licenses

如果这不能解决您的问题,请转到android studio并打开您的Android Studio,

File-> settings->System settings(left tab) ->Android SDK

转到 SDK Tool section 在该页面中,

取消选中hide obsolete packages

选择Android SDL tools(obsolete) 然后按应用,还可以根据您的方便安装其他有用的工具。

答案 16 :(得分:1)

就我而言,我忘记下载Google Web Driver。 下载Google Web驱动程序后,它便开始运行。

答案 17 :(得分:1)

由于build.gradle文件中的compileSdkVersion错误,出现了相同的问题。 现在工作正常。

答案 18 :(得分:1)

在Flutter中为Android创建apk时,有时会发生此问题。我也很幸运面对这个问题。以下是解决问题的几种方法:

1. Due to androidX

如果您从此处遵循推荐的路线: https://flutter.dev/docs/development/packages-and-plugins/androidx-compatibility

尝试一下:

如果上面列出的每个文件都与您项目中的相同,请按上述教程中“不推荐”的方式检查步骤,尤其是: 在root/android/gradle/wrapper/gradle-wrapper.properties set distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip 中 在root/android/build.gradle, set dependencies { classpath 'com.android.tools.build:gradle:3.3.2' }

检查是否root/android/app/build.gradle SDK version is set to minimum 28 for: compileSdkVersion 28 and targetSdkVersion 28 谢谢。

答案 19 :(得分:1)

这可能是许多问题之一,可以在here中找到一些建议的故障排除方法。

  1. 检查您是否根据自己的Android SDK进行构建 已安装...在build.gradle文件中,检查compileSdkVersion。

  2. 您可以尝试卸载并重新安装相关的SDK。

  3. 有些用户报告说他们必须将Dart放高。

没有更多的信息,我们可以为您提供最好的基本故障排除方法。

祝你好运。

答案 20 :(得分:0)

对我来说只是这个过程花费了太多时间。该过程持续运行了大约 10 分钟,最终应用开始运行。

答案 21 :(得分:0)

对我来说,有效的方法是使用AVD Manager清除模拟器数据

Wipe data by AVD Manager

答案 22 :(得分:0)

如果“运行Gradle”任务assembledebug花费了很长时间,并且即使在检查了本文中提到的解决方案后,它仍然没有起作用。

只需在AVD Manager中创建新的虚拟设备即可。我希望这一定对您有用。

答案 23 :(得分:0)

如果您已经打开了一个项目并创建了另一个新项目,请确保您基于已经可运行的项目版本来更新Gradle文件。就我而言,我已经在以前的项目中安装了Gradle 5.6.4,并且在创建新项目时,Gradle包装器文件中的版本为5.6.2。所以我更新了。

答案 24 :(得分:0)

就我而言,问题是,project_path 包含“空间”。

示例:

~/New Folder/myProject

检查您是否遇到此问题。

答案 25 :(得分:0)

我的Mac在Android Studio 4.1上也出现了同样的问题,不幸的是,我忘记在我的机器上安装Java,尝试安装Java。

答案 26 :(得分:0)

使用以下方法解决问题:

  1. 在android studio 工具--> sdk 管理器--> android sdk--> sdk 平台。下载android sdk平台28 dowload android sdk platform 28

现在重新运行你的项目

答案 27 :(得分:0)

什么都不适合我

我确实更新了 Flutter SDK 并将所有依赖项更新到最新版本。之后,我将 android 模块作为 android studio 中的项目打开。它下载一些文件。完成后,我使用 Build->clean Project 清理项目并更新 Gradle 版本。

之后,我再次打开flutter项目并运行该应用程序。它现在工作...... :)

答案 28 :(得分:0)

这也可能是由于开发者许可,如果您将使用任何需要设备许可的软件包,请说 url_launcher 并且您没有授予它不会运行的许可。 Windows 的解决方案是只需在命令提示符/powershell 中运行 ms-settings:developers 并启用开发人员选项,然后它就会正常工作。 如果这也不起作用,那么只需运行 flutter cleanflutter create . 它将起作用。

答案 29 :(得分:0)

我通过将 Flutter 版本从 2.0.5 升级到 2.2.0 解决了这个问题。

答案 30 :(得分:0)

您提供的信息不足以了解造成延迟的原因。您应该提供flutter doctor的输出,这将缩小错误搜索范围。

它会执行特定的应用程序还是您所有的应用程序?

答案 31 :(得分:0)

  1. 从快速镜像下载所需的gradle zip:https://distfiles.macports.org/gradle/gradle-5.6.2-all.zip

  2. 将gradle-5.6.2-all.zip复制到C:\ Users
    .gradle \ wrapper \ dists \ gradle-5.6.2-all \ 9st6wgf78h16so49nn74lgtbb

如果这不起作用,请转到android studio的终端,然后运行:-flutter运行。

查看它询问您的SDK平台。如SDK API 28、29或30。 然后转到SDK管理器并安装所需的SDK API。然后重新启动android studio。

它将完全正常!!

答案 32 :(得分:0)

先执行Caused by: one.microstream.persistence.exceptions.PersistenceExceptionTypeNotPersistable: Type not persistable: "class net.atpco.metadata.summary.accompanied.MetaDataAccompanying$1". Details: Synthetic classes ($1 etc.) are not reliably persistence since a simple reordering of source code elements would change the name identity of a class. For a type system that has to rely upon resolving types by their identifying name, this would silently cause a potentially fatal error. If handling synthetic classes (e.g. anonymous inner classes) is absolutely necessary, a custom one.microstream.persistence.types.PersistenceTypeResolver can be used to remove the exception and assume complete responsibility for correctly handling synthetic class names. at one.microstream.persistence.types.Persistence.derivePersistentTypeName(Persistence.java:1083) at one.microstream.persistence.types.PersistenceTypeResolver.deriveTypeName(PersistenceTypeResolver.java:17) at one.microstream.persistence.types.PersistenceTypeHandlerCreator$Abstract.deriveTypeName(PersistenceTypeHandlerCreator.java:73) at one.microstream.persistence.binary.types.BinaryTypeHandlerCreator$Default.internalCreateTypeHandlerGeneric(BinaryTypeHandlerCreator.java:238) at one.microstream.persistence.types.PersistenceTypeHandlerCreator$Abstract.createTypeHandlerGeneric(PersistenceTypeHandlerCreator.java:168) at one.microstream.persistence.types.PersistenceTypeHandlerEnsurer$Default.ensureTypeHandler(PersistenceTypeHandlerEnsurer.java:199) at one.microstream.persistence.internal.PersistenceTypeHandlerProviderCreating.ensureTypeHandler(PersistenceTypeHandlerProviderCreating.java:170) at one.microstream.persistence.internal.PersistenceTypeHandlerProviderCreating.provideTypeHandler(PersistenceTypeHandlerProviderCreating.java:78) at one.microstream.persistence.types.PersistenceTypeHandlerManager$Default.internalEnsureTypeHandler(PersistenceTypeHandlerManager.java:587) at one.microstream.persistence.types.PersistenceTypeHandlerManager$Default.ensureTypeHandler(PersistenceTypeHandlerManager.java:357) at one.microstream.persistence.types.PersistenceTypeHandlerManager$Default.ensureTypeHandler(PersistenceTypeHandlerManager.java:333) at one.microstream.persistence.binary.types.BinaryStorer$Default.registerGuaranteed(BinaryStorer.java:557) at one.microstream.persistence.binary.types.BinaryStorer$Default.registerLazyOptional(BinaryStorer.java:572) at one.microstream.persistence.types.PersistenceObjectManager$Default.ensureObjectId(PersistenceObjectManager.java:182) at one.microstream.persistence.binary.types.BinaryStorer$Default.register(BinaryStorer.java:591) at one.microstream.persistence.binary.types.BinaryStorer$Default.apply(BinaryStorer.java:298) at one.microstream.persistence.binary.types.BinaryValueFunctions$9.storeValueFromMemory(BinaryValueFunctions.java:147) at one.microstream.persistence.binary.types.Binary.storeFixedSize(Binary.java:1149) at one.microstream.persistence.binary.internal.AbstractBinaryHandlerReflective.store(AbstractBinaryHandlerReflective.java:497) at one.microstream.persistence.binary.internal.AbstractBinaryHandlerReflective.store(AbstractBinaryHandlerReflective.java:1) at one.microstream.persistence.binary.types.BinaryStorer$Default.storeItem(BinaryStorer.java:414) at one.microstream.persistence.binary.types.BinaryStorer$Default.storeGraph(BinaryStorer.java:403) at one.microstream.persistence.binary.types.BinaryStorer$Default.store(BinaryStorer.java:421) at one.microstream.persistence.types.PersistenceManager$Default.store(PersistenceManager.java:274) at one.microstream.storage.types.StorageConnection.store(StorageConnection.java:306) at one.microstream.cache.CacheStore$Default.write(CacheStore.java:112) 然后将您的项目文件夹复制到其他地方 关闭您的项目并打开复制了不同位置的同一项目。 就是这样!

答案 33 :(得分:0)

您从cli尝试过吗?

颤振设备

颤动

https://flutter.dev/docs/get-started/test-drive?tab=terminal

在mac环境中,构建过程在140秒钟内完成。

答案 34 :(得分:0)

这对我有用:

C:\ Users <用户> \ AndroidStudioProjects \ android> 逐步清除 C:\ Users <用户> \ AndroidStudioProjects \ android> 渐变构建

现在运行它,以进行初始构建

“Running Gradle task 'assembleDebug'… ”

这将需要10到12分钟,这将是一个很好的选择。

答案 35 :(得分:0)

以我为例安装 JDK 解决了该问题。

macOS Catlina v10.15.4

答案 36 :(得分:0)

最后我修复了它。 问题主要是由于android SDK或gradle内置工具

有多种方法可以尝试对其进行修复。 方式1.检查是否安装了google驱动程序。您可以在android studio的SDK管理器中找到它们

方法2.颤振医生-v flutter doctor --android-licenses(#这将检查是否接受了android的所有许可)

方法3.飘动干净;颤动构建apk
扑动(开始时需要花一些时间进行组装,因此请耐心等待7至10分钟)

方法4。如果这也不起作用 扑扑干净 颤动运行(请耐心等待,最后5到10分钟后,颤动代码将在模拟器上运行)

希望这些解决方案对您有用,如果不能回复我。

答案 37 :(得分:0)

对于我的LG G6,我有同样的问题。 看来新版的adb增加了与某些LG手机的兼容性问题。

降级为平台工具版本28.0.0解决了该问题。

参考:

https://superuser.com/questions/1357708/android-adb-logcat-works-only-on-shell/1357929#1357929

https://github.com/flutter/flutter/issues/18889#issuecomment-421432066

答案 38 :(得分:0)

只需连接互联网,然后禁用Windows Defender /防火墙。它对我有用。

答案 39 :(得分:0)

我通过在Android Studio上针对Android API 29重新安装SDK平台解决了该问题

Tools->SDK Manager-SDK Platform

下一步转到

Android > app > build.gradle

确保您也更改

compileSdkVersion 29

targetSdkVersion 29

请耐心等待,第一次发射需要更长的时间...但是,不要像以前那样花很长时间。

祝你好运

答案 40 :(得分:0)

你好吗!,

经过多次尝试,他们没有建议对我有用。

我的问题是,我拥有* .dart文件,其中包含许多行代码,最初可以在SQLite中执行SQL创建和插入操作,我删除了4072行操作,文件的大小减小了,我不再需要编译一个非常长的代码文件,相反,我将数据库预加载到资产中,并且可以正常工作! ..

该操作已花费很长时间的消息不再出现,希望它能为您服务。

Before, when long file size

After, without SQL code operations

答案 41 :(得分:0)

就我而言,如果您使用命令,我只需要等待flutter安装gradle和其他东西

flutter run -v

您可以看到正在做什么。

答案 42 :(得分:0)

就我而言,Android Gradle插件版本根本没有更新为任何版本。因此,我通过右键单击我的项目文件夹来更新它,单击“打开模块设置”,并相应地更新了gradle插件版本。 enter image description here

答案 43 :(得分:-2)

taskkill /F /IM dart.exe然后flutter clean