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


当前回答

解决方案:

Caused by 4: com.android.builder.internal.aapt.AaptException: Dependent features configured but no package ID was set.

所有特性模块都必须应用库插件,而不是应用程序插件。

构建。gradle (androidApp: feature_A)

apply plugin: 'com.android.library'

这完全取决于每个组件的堆栈跟踪。原因1 WorkExecutionException可能是其他原因导致的。因此,我建议从最后一个原因到第一个原因读取完整的堆栈跟踪。因此,如果我们解决了最后一个原因,很可能我们就已经固定了从最后一个原因到第一个原因的链条。

我附上我的堆栈跟踪的一个例子,原始或具体的问题是在最后的原因:

Caused by: org.gradle.workers.internal.DefaultWorkerExecutor$WorkExecutionException: A failure occurred while executing com.android.build.gradle.internal.res.LinkApplicationAndroidResourcesTask$TaskAction

Caused by: com.android.builder.internal.aapt.v2.Aapt2InternalException: AAPT2 aapt2-4.2.0-alpha16-6840111-linux Daemon #0: Unexpected error during link, attempting to stop daemon.

Caused by: java.io.IOException: Unable to make AAPT link command.

Caused by 4: com.android.builder.internal.aapt.AaptException: Dependent features configured but no package ID was set.

GL

特性包ID未设置

其他回答

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

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

android:fillColor="@color/blue"

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

在我的案例中,问题是由于gradle包装中的gradle版本从6.2 all升级到6.6 all。所以我清除了avd的数据并重新启动它,然后删除了android/中的。gradle文件夹。Gradle,然后运行yarn start -reset-cache和yarn android。然后它对我起作用了

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

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

to

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

为我工作

gradle.proprites

org.gradle.jvmargs=-Xmx1536M

build.gradle

defaultConfig {
        multiDexEnabled true
    }

dependencies {
    implementation 'com.android.support:multidex:1.0.3'
}

然而这些东西并没有解决我的问题,直到我增加编译esdkversion从27到28,它为我工作。

android {
    compileSdkVersion 28

    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }

    lintOptions {
        disable 'InvalidPackage'
    }

    defaultConfig {
         minSdkVersion 21
        targetSdkVersion 28
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
        multiDexEnabled true
    }

    buildTypes {
        release {
            crunchPngs false
        }
    }
}

在我的例子中,我启用了multidex

[project_folder] / app /构建开放。Gradle并添加以下行。

defaultConfig {
    ...

    multiDexEnabled true
}

and

dependencies {
    ...

    implementation 'com.android.support:multidex:2.0.1'
}