我得到这个错误,而我正在构建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工作室。重建项目,但没有一个为我工作。


当前回答

如果你陷入下面的错误

Execution failed for task ':app:signReleaseBundle'. > A failure occurred while 
executing com.android.build.gradle.internal.tasks.Workers$ActionFacade > 'other' 
has different root

**然后做它改变你的位置。abb的时间生成到你的 项目(这个。aab的自己的项目)然后转到app,然后选择realese 文件夹来保存你的。aab **

其他回答

在我的情况下,这个问题是由于我替换了文件夹android/app/src/main/res的所有内容,因为我正在改变我的应用程序图标。

我的解决方案是保留这些文件夹: android / app / src / main / res /值 android / app / src / main / res / values-night

遇到类似的问题…对我来说,修正是改变/更新gradle版本

   classpath "com.android.tools.build:gradle:4.1.2" 

to

   classpath "com.android.tools.build:gradle:4.1.3"

为我工作

在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版本)。

我只有在构建棒棒糖或棉花糖时,才得到与您类似的堆栈跟踪,解决方案是禁用高级剖析。

在这里找到它:

执行命令-> Edit Configurations -> Profiling ->启用高级剖析

https://stackoverflow.com/a/58029739/860488

如果你得到这个错误签名配置。json(拒绝访问)意味着退出android studio,回到桌面主页,点击android studio图标,以管理员身份运行,这将解决问题(或者)你可以删除签名配置。Json并重新运行程序:)