我的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)
        ...

当前回答

单击Build -> Clean Project

然后Build -> Make Project

在gradle 3.5.0-alpha3, -alpha5和3.4.0上测试(项目gradle)

classpath 'com.android.tools.build:gradle:3.5.0-alpha03'

其他回答

我尝试了很多方法来解决这个问题,但都没有用。当我试图生成一个签名apk时,我得到这个错误。

降级到旧版本的Android Studio有帮助(3.4.2),但这不是解决方案。

AS中的“Clean Project”函数不会清理生成apk的地方,有一个文件可能会阻塞整个过程:output.json

尝试删除输出。/app/projectname/release/output.json

解决方案:-

1- Build -> Clean Project没有帮助

2-Build -> Make Project没有帮助

3 .重启android studio没有帮助

4-手动从应用程序和项目中删除Build文件夹没有帮助

对我来说,唯一的解决方案是从目标文件夹中删除所有旧的构建

这对我来说很管用:

手动从项目中删除生成文件夹。 在android studio终端输入此命令

如果Windows用户

gradlew clean build

Linux用户

./gradlew clean build

如果您使用不同的构建变量,请选择特定的文件夹来生成登录apk文件。当您试图生成登录apk流时,您可以更改路径。对我来说,这很有效。

手动删除所有现有的构建变量文件夹以及项目文件夹中的构建文件夹为我工作。