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


当前回答

我在活动中实现了黑暗模式。我刚刚声明了属性标签,没有在任何地方使用它,所以得到了同样的错误。确保在代码中声明、定义和使用了所有的资源值(特别是属性标记)。

如果你有这样的资源错误,那么你将不会得到一个适当的问题纠正通过android工作室。您必须小心地撤消更改。

其他回答

重新启动笔记本电脑为我做了这项工作。

在我的情况下,我使用react本机,它发生在gradle更新到新版本时。我就知道这和葛拉德卢有关。我检查了几天前我在github上推送的回购。我改变了gradle类在android/build中的路径。Gradle依赖项和添加项

classpath("com.android.tools.build:gradle:3.5.3")
classpath 'com.google.gms:google-services:4.3.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版本)。

改变后对我有用:

        <activity
        android:name="com.packagename.PurchaseActivity"
        android:configChanges="orientation|screenSize"
        android:label="@string/title_activity_purchase"
        android:screenOrientation="portrait" />

to

        <activity
        android:name=".PurchaseActivity"
        android:configChanges="orientation|screenSize"
        android:label="@string/title_activity_purchase"
        android:screenOrientation="portrait" />

删除包的名称,所有java类作为应用程序的一部分,它解决了我的问题:-)

该应用程序最近已迁移到AndroidX。

最后通过将这一行添加到gradle.properties找到了解决方案。

org.gradle.jvmargs = -Xmx4608m