执行 com.android.build.gradle.tasks.PackageAndroidArtifact$IncrementalSplitterRunnable 时发生故障

A failure occurred while executing com.android.build.gradle.tasks.PackageAndroidArtifact$IncrementalSplitterRunnable

我在尝试转换登录 apk 时遇到错误。在它工作之前。添加 buildTyper 后它不起作用。谁能帮我解决这个问题?或者有什么地方做错了?

    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        resValue "string", "google_maps_key", "AIzaxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
        debuggable true
        multiDexEnabled true
        signingConfig signingConfigs.Able
        jniDebuggable true
        renderscriptDebuggable true
    }

    debug {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        resValue "string", "google_maps_key", "AIzaxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    }

解决方法很简单!在开始构建或签署项目之前,

  1. 关闭android工作室
  2. 手动删除 \app\build、\app\release 和 \app\debug 文件夹
  3. 关闭所有其他文件夹
  4. 再次尝试构建或签署您的项目

注意不要在文件资源管理器中打开 \app\debug 和 \app\release 或它们的任何子目录!

已批准的解决方案违背了智能 Gradle 构建过程的目的,该过程仅编译和链接所需的代码。如果每次出现此错误,解决方案是停止并删除您正在扼杀生产力的构建。

每 10 个构建中就有 1 个出现此错误。

我的快速修复 - 在 Android Studio 中 - 打开终端面板(通常在工作室底部)。 运行 shell 命令

rm -rf build/output/apk

这总是有效的 - 但每 10 个构建仍然是一个很大的痛苦。 我去年遇到过这个问题,所以多次 OS 更新、多次 Studio 更新等

希望他们能解决这个问题。 我试过禁用“增量构建”,但对这个问题没有影响。

gradle.properties

org.gradle.parallel=false
org.gradle.caching=false
org.gradle.configureondemand=false

build.gradle

gradle.projectsEvaluated {
    tasks.withType(JavaCompile) {
        options.incremental = false

    }
}

将此行 org.gradle.jvmargs=-Xmx4608m 添加到 gradle.properties 修复了它。

但是当我收到 A failure occurred while executing com.android.build.gradle.tasks.PackageAndroidArtifact$IncrementalSplitterRunnable 报告时,它也说了类似 ...Java Heap Size 的内容。