我的android应用程序使用Kotlin抛出这个异常时,我试图在模拟器运行'应用程序'在我的手机。当我构建我的项目时,它运行良好,没有错误。

我正在使用:

SDK 28 (Android 9.0 (Pie)) Gradle 5.1.1 Gradle Plugin 3.5.0-alpha03 芬兰湾的科特林1.3.10 Java 1.8.0_151 OSX 10.13.2

    org.gradle.internal.exceptions.LocationAwareException: buildOutput.apkData must not be null
        at org.gradle.initialization.exception.DefaultExceptionAnalyser.transform(DefaultExceptionAnalyser.java:99)
        at org.gradle.initialization.exception.DefaultExceptionAnalyser.collectFailures(DefaultExceptionAnalyser.java:65)
        at org.gradle.initialization.exception.MultipleBuildFailuresExceptionAnalyser.transform(MultipleBuildFailuresExceptionAnalyser.java:39)
        at org.gradle.initialization.exception.StackTraceSanitizingExceptionAnalyser.transform(StackTraceSanitizingExceptionAnalyser.java:29)
        at org.gradle.initialization.DefaultGradleLauncher.finishBuild(DefaultGradleLauncher.java:194)
        at org.gradle.initialization.DefaultGradleLauncher.finishBuild(DefaultGradleLauncher.java:141)
        ...
    Caused by: java.lang.IllegalStateException: buildOutput.apkData must not be null
        at com.android.build.gradle.internal.ide.EarlySyncBuildOutput$Companion$load$2.invoke(EarlySyncBuildOutput.kt:103)
        at com.android.build.gradle.internal.ide.EarlySyncBuildOutput$Companion$load$2.invoke(EarlySyncBuildOutput.kt:67)
        at kotlin.sequences.TransformingSequence$iterator$1.next(Sequences.kt:174)
        at kotlin.sequences.SequencesKt___SequencesKt.toCollection(_Sequences.kt:691)
        at kotlin.sequences.SequencesKt___SequencesKt.toMutableList(_Sequences.kt:721)
        at kotlin.sequences.SequencesKt___SequencesKt.toList(_Sequences.kt:712)
        ...

当前回答

我也被这个bug惹恼了。但是将我的Signed apk目的地从c/users/project/app更改为c/users/project对我有用。

其他回答

更新到Android Studio 3.4 ?我明白了

原因:buildOutput。apkData不能为空

为了寻找答案,我找到了这个程序:

Build ->清洁项目

但它不起作用,我知道这个过程将删除内容到/build目录,但根据我的经验,它在所有情况下都不起作用,所以我尝试了“原始”的方式,删除目录:

/app/build/ 

然后我重新构建了这个项目,它工作了。

当我试图为我的发布版本“生成签名APK”时,我也得到了这个错误。 我尝试了以上所有的方法,不幸的是没有一个对我有效。

有效的方法是,首先生成应用程序的调试签名版本,然后再生成发布版本。

我不知道到底发生了什么变化,也不知道原来的问题是什么,但它起作用了。我希望它也能帮助你,因为这个错误是相当烦人的…

清理项目对我没有帮助,但手动删除所有模块中自动生成的构建文件夹有帮助。

通常这个问题发生在android Studio V3.4更新到V3.5时。 尝试删除调试/输出。Json和释放/输出。json文件。

然后试试这些步骤:

步骤1:清洁项目(构建>清洁项目)

步骤2:重建项目(Build >重建项目)

我的解决方案是删除apk输出文件夹中的所有文件和文件夹。 我在为“生产”风格和输出创建签名apk时遇到了这个问题。在“feature”输出文件夹中的json会导致问题-> Android Studio 3.6 Canary 7向我显示了正确的错误消息。 它现在也可以在AS 3.5和Gradle Plugin 3.5.0上稳定运行。