Причина: buildOutput.apkData не должен быть нулевым - PullRequest
0 голосов
/ 03 февраля 2019

Мое приложение для Android, использующее Kotlin, выдает это исключение, когда я пытаюсь запустить «приложение» в эмуляторе o на моем мобильном телефоне.Когда я строю свой проект, он работает хорошо, без ошибок.

Я использую:

  • SDK 28 (Android 9.0 (Pie))
  • Gradle 5.1.1
  • Gradle Plugin 3.5.0-alpha03
  • Kotlin 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)
        ...

Ответы [ 12 ]

0 голосов
/ 22 августа 2019

Я пробовал много вещей, чтобы решить проблему, но ничего не помогло.Я получаю эту ошибку при попытке создать подписанный apk.

Сработало обновление до более старых версий Android Studio (3.4.2), однако это не решение.

«Чистый проект»'функция в AS не очищает место, где создан ваш сгенерированный apk, и есть один файл, который может блокировать всю процедуру: output.json

Попробуйте удалить output.json из ... / app / projectname/release/output.json

0 голосов
/ 21 августа 2019

Эта проблема обычно возникает, когда вы запускаете несколько окон Android Studio с разными проектами.

Решение

  • выберите проект, а затем удалите .gradle и создайте папки
  • чем очистить и перестроить проект.

пожалуйста, скриншот прикреплен

please ref screen shot attached

0 голосов
/ 22 августа 2019

единственное решение, которое работает для меня, это использование в моем корневом граделе

classpath 'com.android.tools.build:gradle:3.3.0'

того, что я пробовал: - очистить всю папку сборки вручную - сделать кэш недействительным, но ни один из них не работает

PS: я использую Android Studio 3,5 BTW

0 голосов
/ 27 июня 2019

В моем случае проект сборки и запуска с различными конфигурациями сборки прошел успешно.Но сгенерированный подписанный apk выдает ошибку Cause: buildOutput.apkData must not be null, с другой стороны, был сгенерирован apk, и переключатель вывода Build Output печатает BUILD SUCCESSFUL.Ручная установка заканчивается сообщением App not installed.Моя ошибка заключалась в использовании compileSdkVersion 'android-P' и после изменения на compileSdkVersion 28 все идет хорошо.

0 голосов
/ 16 июля 2019

Кажется, очистка проекта может решить проблему, но для меня это сработало следующим образом.

Файл-> Синхронизировать проект с файлами Gradle.

0 голосов
/ 28 мая 2019

Я использовал Android Studio 3.5 beta 2, и у меня была точно такая же ошибка, но только в моей сборке релиза.Попробовав любое другое решение, которое я нашел, единственный способ, которым я смог снова скомпилировать, - это вернуться в Android Studio 3.4.

0 голосов
/ 19 июня 2019

Обновление до Android Studio 3.4.?, я получаю сообщение

Причина: buildOutput.apkData не должен быть нулевым

ищетответ я нашел процедуру:

Build -> Clean Project

но она не работает, я знаю, что эта процедура удалит содержимое в каталог /build, нопо моему опыту, это работает не во всех случаях, поэтому я попробовал «сырой» способ, удалив каталог:

/app/build/ 

, затем перестроил проект, и он заработал.

0 голосов
/ 07 мая 2019

У меня это работает:

  1. удалить папку сборки из вашего проекта вручную.

  2. в терминале Android Studio введите эту команду

если пользователь Windows

gradlew clean build

если пользователь Linux

./gradlew clean build
0 голосов
/ 03 мая 2019

В моем случае Эта проблема возникает из-за Android Studio 3.4 Обновления.

Шаг 1: После обновления Android Studio 3.4вам нужно добавить все зависимости, которые используются в вашем модуле или библиотеке, на уровне приложения build.gradle.

Шаг 2: Очистить проект (Build> Clean Project)

Шаг 3: Перестроить проект (Build> Rebuild Project)

Теперь ваш проект будет отлично скомпилирован.

0 голосов
/ 30 апреля 2019

Я также получал эту ошибку при попытке «Создать подписанный APK» для моей версии выпуска.Я перепробовал все вышеперечисленные методы, но, к сожалению, у меня не получилось ни одного.

То, что сработало, сначала генерировало отладочную подписанную версию приложения, а затем снова генерировало релизную.

Я делаюне знаю, что именно изменилось или в чем была первоначальная проблема, но это сработало.Я надеюсь, что это тоже поможет вам, потому что эта ошибка весьма раздражает ...

...