我得到这个错误,而我正在构建APK。

Cause 1: org.gradle.workers.internal.DefaultWorkerExecutor$WorkExecutionException: A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
    at org.gradle.workers.internal.DefaultWorkerExecutor$WorkerExecution.waitForCompletion(DefaultWorkerExecutor.java:285)
    at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForItemsAndGatherFailures(DefaultAsyncWorkTracker.java:115)
    at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForCompletion(DefaultAsyncWorkTracker.java:87)
    at org.gradle.workers.internal.DefaultWorkerExecutor.await(DefaultWorkerExecutor.java:150)
    at com.android.build.gradle.internal.tasks.Workers$WorkerExecutorAdapter.await(Workers.kt:282)
    at com.android.ide.common.resources.MergeWriter.end(MergeWriter.java:48)
    at com.android.ide.common.resources.MergedResourceWriter.end(MergedResourceWriter.java:242)
    at com.android.ide.common.resources.DataMerger.mergeData(DataMerger.java:292)
    at com.android.ide.common.resources.ResourceMerger.mergeData(ResourceMerger.java:384)
    at com.android.build.gradle.tasks.MergeResources.lambda$doFullTaskAction$1(MergeResources.java:261)
    at com.android.build.gradle.internal.tasks.Blocks.recordSpan(Blocks.java:58)

试图使缓存无效并重新启动android工作室。重建项目,但没有一个为我工作。


当前回答

试着把这个添加到gradle.properties中

org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true

其他回答

我得到这个错误是因为我缺少一个

/>

在activity_main.xml中某一行的末尾

搜索你的代码,你必须在一个XML绘图中引用color. XML中的color。 去给出十六进制代码,而不是引用....

例子: 在drawable.xml中,你必须调用

android:fillColor="@color/blue"

改为android:fillColor="#ffaacc" 希望它能解决你的问题…

试着检查你的防病毒软件是否阻止了任何重要的Java 8文件

当我突然得到这个错误时,我的项目完全正常工作。我花了整整两个小时来解决这个问题。重启电脑并重新构建项目后,这个问题仍然存在,但随后我的反病毒软件(Avast)弹出一个窗口,说它“保护”了我免受危险文件的侵害。我只是允许文件,然后突然一切都像以前一样正常工作。

在android文件夹根的本地属性中设置最小sdk版本为21:

flutter.minSdkVersion=21

在app->build.gradle中

defaultConfig {
        [...]
        minSdkVersion localProperties.getProperty('flutter.minSdkVersion').toInteger()

根据文件:

注意:当针对Android SDK 21或更高版本时,Multidex支持是原生的。

他们还谨慎地警告说:

但是,不建议仅仅针对API 21+来解决多重索引问题,因为这可能会无意中排除运行旧设备的用户。

但是SDK 21在10年前就发布了Android版本5,0 Lollipop,如你所见:https://en.wikipedia.org/wiki/Android_Lollipop(更不用说这些设备,如果它们仍然存在,通常有能力升级他们的Android版本)。

我知道这可能不是一个完整或准确的解决方案,但对于那些即使在做了这个线程上给出的事情之后仍然面临问题的人来说,检查你在value文件夹中的文件。对我来说,有一个拼写错误和一些缺失的值。一旦我修复了他们这个错误停止。