在VS Codium中的模拟器上运行Flutter 运行时,我收到以下错误:

flutter run --debug
Launching lib/main.dart on sdk gphone64 x86 64 in debug mode...
startup failed:
/home/damian/dev_tools/flutter/packages/flutter_tools/gradle/build/classes/groovy/main/FlutterPlugin$_addTasksForOutputsAppLinkSettings_closure22$_closure48$_closure50$_closure51$_closure52$_closure53$_closure55$_closure57$_closure58.class (filename too long)

1 error


FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':gradle:compileGroovy'.
> Compilation failed; see the compiler error output for details.

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 31s
Running Gradle task 'assembleDebug'...                             32,6s
Exception: Gradle task assembleDebug failed with exit code 1

我运行默认的项目代码,该代码是默认使用flutter create projectname创建的.

如果我运行自己的代码,它也不会工作.

这个目录中有很多长名称的文件. 我正在使用Linux Mint. Flutter SDK和Flutter 插件到VS Codium是最新的.

更多详细信息:


/home/damian/dev_tools/flutter/packages/flutter_tools/gradle/build/classes/groovy/main/FlutterPlugin$_addTasksForOutputsAppLinkSettings_closure22$_closure48$_closure50$_closure51$_closure52$_closur
e53$_closure55$_closure57$_closure58.class (filename too long)
[  +30 ms] 1 error
[ +122 ms] > Task :gradle:compileGroovy FAILED
[   +2 ms] :gradle:compileGroovy (Thread[included builds,5,main]) completed. Took 17.064 secs.
[        ] FAILURE: Build failed with an exception.
[   +6 ms] * What went wrong:
[        ] Execution failed for task ':gradle:compileGroovy'.
[        ] > Compilation failed; see the compiler error output for details.
[        ] * Try:
[        ] > Run with --debug option to get more log output.
[   +7 ms] > Run with --scan to get full insights.
[   +1 ms] * Exception is:
[        ] org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':gradle:compileGroovy'.
[   +5 ms]      at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:142)
[        ]      at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:282)
[   +3 ms]      at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:140)
[   +2 ms]      at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:128)
[  +10 ms]      at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:77)
[        ]      at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
[        ]      at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
[   +2 ms]      at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
[        ]      at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
[   +1 ms]      at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
[   +6 ms]      at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
[   +4 ms]      at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
[        ]      at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
[   +2 ms]      at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
[  +12 ms]      at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
[        ]      at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
[        ]      at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
[        ]      at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
[   +7 ms]      at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
[        ]      at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
[        ]      at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
[   +7 ms]      at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
[   +6 ms]      at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:69)
[        ]      at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:327)
[        ]      at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:314)
[   +1 ms]      at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:307)
[   +3 ms]      at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:293)
[        ]      at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:417)
[        ]      at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:339)
[        ]      at org.gradle.execution.plan.DefaultPlanExecutor.process(DefaultPlanExecutor.java:96)
[        ]      at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph.executeWithServices(DefaultTaskExecutionGraph.java:140)
[        ]      at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph.execute(DefaultTaskExecutionGraph.java:125)
[        ]      at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:39)
[   +8 ms]      at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:51)
[   +1 ms]      at org.gradle.execution.BuildOperationFiringBuildWorkerExecutor$ExecuteTasks.call(BuildOperationFiringBuildWorkerExecutor.java:54)
[        ]      at org.gradle.execution.BuildOperationFiringBuildWorkerExecutor$ExecuteTasks.call(BuildOperationFiringBuildWorkerExecutor.java:43)
[   +4 ms]      at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
[   +1 ms]      at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
[        ]      at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
[  +11 ms]      at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
[   +5 ms]      at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
[        ]      at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
[   +4 ms]      at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
[        ]      at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
[        ]      at org.gradle.execution.BuildOperationFiringBuildWorkerExecutor.execute(BuildOperationFiringBuildWorkerExecutor.java:40)
[        ]      at org.gradle.internal.build.DefaultBuildLifecycleController.lambda$executeTasks$7(DefaultBuildLifecycleController.java:161)
[        ]      at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:247)
[        ]      at org.gradle.internal.model.StateTransitionController.lambda$tryTransition$7(StateTransitionController.java:174)
[        ]      at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:44)
[        ]      at org.gradle.internal.model.StateTransitionController.tryTransition(StateTransitionController.java:174)
[  +16 ms]      at org.gradle.internal.build.DefaultBuildLifecycleController.executeTasks(DefaultBuildLifecycleController.java:161)
[        ]      at org.gradle.internal.build.DefaultBuildWorkGraphController$DefaultBuildWorkGraph.runWork(DefaultBuildWorkGraphController.java:156)
[        ]      at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:249)
[        ]      at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:109)
[        ]      at org.gradle.composite.internal.DefaultBuildController.doRun(DefaultBuildController.java:164)
[        ]      at org.gradle.composite.internal.DefaultBuildController.access$000(DefaultBuildController.java:45)
[  +32 ms]      at org.gradle.composite.internal.DefaultBuildController$BuildOpRunnable.run(DefaultBuildController.java:183)
[        ]      at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
[        ]      at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[        ]      at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
[        ]      at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
[        ]      at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[        ]      at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[        ]      at java.base/java.lang.Thread.run(Thread.java:833)
[        ] Caused by: org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed; see the compiler error output for details.
[  +14 ms]      at org.gradle.api.internal.tasks.compile.ApiGroovyCompiler.execute(ApiGroovyCompiler.java:276)
[        ]      at org.gradle.api.internal.tasks.compile.ApiGroovyCompiler.execute(ApiGroovyCompiler.java:64)
[        ]      at org.gradle.api.internal.tasks.compile.GroovyCompilerFactory$DaemonSideCompiler.execute(GroovyCompilerFactory.java:97)
[        ]      at org.gradle.api.internal.tasks.compile.GroovyCompilerFactory$DaemonSideCompiler.execute(GroovyCompilerFactory.java:76)
[        ]      at org.gradle.api.internal.tasks.compile.daemon.AbstractDaemonCompiler$CompilerWorkAction.execute(AbstractDaemonCompiler.java:135)
[        ]      at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63)
[  +19 ms]      at org.gradle.workers.internal.AbstractClassLoaderWorker$1.create(AbstractClassLoaderWorker.java:49)
[        ]      at org.gradle.workers.internal.AbstractClassLoaderWorker$1.create(AbstractClassLoaderWorker.java:43)
[        ]      at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:100)
[        ]      at org.gradle.workers.internal.AbstractClassLoaderWorker.executeInClassLoader(AbstractClassLoaderWorker.java:43)
[        ]      at org.gradle.workers.internal.IsolatedClassloaderWorker.run(IsolatedClassloaderWorker.java:49)
[        ]      at org.gradle.workers.internal.IsolatedClassloaderWorker.run(IsolatedClassloaderWorker.java:30)
[        ]      at org.gradle.workers.internal.WorkerDaemonServer.run(WorkerDaemonServer.java:87)
[        ]      at org.gradle.workers.internal.WorkerDaemonServer.run(WorkerDaemonServer.java:56)
[        ]      at org.gradle.process.internal.worker.request.WorkerAction$1.call(WorkerAction.java:138)
[        ]      at org.gradle.process.internal.worker.child.WorkerLogEventListener.withWorkerLoggingProtocol(WorkerLogEventListener.java:41)
[        ]      at org.gradle.process.internal.worker.request.WorkerAction.run(WorkerAction.java:135)
[        ]      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[   +2 ms]      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
[        ]      at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[        ]      at java.base/java.lang.reflect.Method.invoke(Method.java:568)
[        ]      at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
[        ]      at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
[        ]      at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182)
[        ]      at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164)
[        ]      at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:414)
[        ]      at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
[        ]      at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
[        ]      at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[        ]      at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[        ]      at java.base/java.lang.Thread.run(Thread.java:833)
[        ] * Get more help at https://help.gradle.org
[  +10 ms] BUILD FAILED in 20s
[   +1 ms] 1 actionable task: 1 executed
[        ] Some of the file system contents retained in the virtual file system are on file systems that Gradle doesn't support watching. The relevant state was discarded to ensure changes to these
locations are properly detected. You can override this by explicitly enabling file system watching.
[  +42 ms] Stopped 1 worker daemon(s).
[ +642 ms] Running Gradle task 'assembleDebug'... (completed in 21,2s)
[+6474 ms] Exception: Gradle task assembleDebug failed with exit code 1
[   +4 ms] "flutter run" took 30 295ms.
[   +5 ms] 
           #0      throwToolExit (package:flutter_tools/src/base/common.dart:10:3)
           #1      RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:752:9)
           <asynchronous suspension>
           #2      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1350:27)
           <asynchronous suspension>
           #3      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #4      CommandRunner.runCommand (package:args/command_runner.dart:212:13)
           <asynchronous suspension>
           #5      FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:348:9)
           <asynchronous suspension>
           #6      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #7      FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:294:5)
           <asynchronous suspension>
           #8      run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:112:9)
           <asynchronous suspension>
           #9      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #10     main (package:flutter_tools/executable.dart:90:3)
           <asynchronous suspension>

已try 重新安装插件和重新安装Ffltter SDK-没有效果.我也try 了清理和重建项目或创建新项目-没有效果.

编辑try 使用Android Studio代替-也不会工作.

推荐答案

这个问题是由多种因素共同引起的:

  1. 您的文件系统(使用eCryptFS加密的ext4)将文件名限制为~143个字符
  2. Gradle内部的编译器为嵌套闭包生成长文件名
  3. flutter 3.16的最新变化导致function addTasksForOutputsAppLinkSettings使用了许多嵌套闭包.

简而言之,这意味着:您不能在加密的Linux Mint文件系统上使用标准Gradle设置编译Ffltter 3.16项目.


不幸的是,没有简单的解决办法.您有以下选项:

  1. 禁用文件系统加密或将Ffltter项目移动到磁盘的非加密部分
  2. 更改groovy编译器的内部 struct ,以便对生成的文件使用更短的文件名.
  3. 向Ffltter团队提出这个问题,并要求对最近的3.16更改进行重构,以减少嵌套闭包的数量.

第三条听起来像是一个简单的解决办法,但只是暂时的.有人能 可能会在下一次更新中故意重新引入大量嵌套闭包,并再次 destruct 加密文件系统上的构建.永久性的修复需要Flutter 维护者的长期支持.

第二种方法前景看好,因为它将提供长期解决方案.但这需要对编译器进行更改,这可能需要一段时间.

因此,短期内剩下的就是:将项目(或者至少是构建输出文件夹)移动到磁盘的非加密部分

Flutter相关问答推荐

当第二页在单独的小工具中使用Navigator.pop时,Navigator.push不起作用

Firebase Auth异常未被catch捕获

如何在Flutter 屏幕中添加箭头形状

为什么他们实例化类,然后丢弃该实例?

如何使用新的Riverpod语法将依赖传递给AsyncNotifier?

自定义ItemBuilderFlutter

Flutter 布局-全屏幕容器

我有相关的下拉菜单Flutter Windows应用程序的问题

FOR回路中的Flutter 模型

当我转到其他屏幕并按下后退按钮时,屏幕将不会刷新

Flutter - Riverpod 2.0 - 如何访问 onDispose 回调?

Flutter - Stripe:类型List 不是类型Map 的子类型? method_channel_stripe.dart 中的错误:263

Riverpod 2.3.6:AutoDisposeNotifier和ref.onDispose自动处理

升级到 Flutter 3.10 后,Flutter 键盘填充不起作用. Flutter 3.10 如何防止 BottomSheet 被键盘覆盖?

Flutter 判断 Uint8List 是否有效 Image

我在手机上找不到我的 Flutter 应用缓存数据

Container 的 Flutter 背景图片不会出现

在 Flutter 中单击时切换按钮 colored颜色 没有改变

如何使用 Riverpod 在运行时动态创建提供程序?

Flutter 广告导致延迟