Мое приложение для Android, использующее Kotlin, выдает это исключение, когда я пытаюсь запустить «приложение» в эмуляторе или на своем мобильном телефоне. Когда я создаю свой проект, он работает хорошо, без ошибок.
Я использую:
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)
...
У меня то же самое после обновления Android Studio до 3.4.
Проверьте ответ Лемберга, который работает для меня, сегодня я столкнулся с этой проблемой.
То же самое для Java (не обязательно Kotlin) после установки Android Studio 3.5.
Щелкните 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'
Я могу подтвердить, что это работает и с версией com.android.tools.build:gradle:3.5.0-alpha05 (с Build -> Rebuild Project в AS)
Также работает для classpath 'com.android.tools.build:gradle:3.4.0-rc02'
К сожалению, для этого требуется обновление до Android Studio 3.5, я не могу сказать своей команде переключиться на нестабильный канал для обновлений Android Studio.
@void.pointer, почему бы и нет? Я на канарейке (также для производства) в течение многих лет. Не могу пожаловаться на стабильность или плохую производительность (используя macOS).
Работает на Android Studio 3.4.
пробую AndroidStudio3.5 в Mac OS, все SDK обновлены, используя версию Gradle com.android.tools.build:gradle:3.5.0, это решение у меня не работает
@MihodiHasanLushan Удалите папку build и снова соберите проект. В противном случае проверьте правильность вашего градиента (sdk, зависимости и т. д.). Вы уверены, что получаете такое же сообщение об ошибке?
попробовал те, да, я получаю эту ошибку. @МартинПфеффер
@MihodiHasanLushan для меня это работает только после того, как я запустил «чистую сборку gradlew» на терминале студии Android. Я использую classpath 'com.android.tools.build:gradle:3.5.0' с Android Studio 3.5 на Windows 10.
Работает на Android Studio 3.5.
Мне нужно было только очистить, так как моя версия Gradle была 3.5.1, когда я обновил свой проект для своего репозитория.
Также работает для classpath 'com.android.tools.build:gradle:3.5.3' Android Studio 3.6.3.
Очистка проекта мне не помогла, но помогло ручное удаление всех автоматически сгенерированных папок строить во всех модулях.

Это эквивалент очистки проекта.
Нет, попробуйте очистить проект из Android Studio, а затем проверьте каталог приложений на наличие каталогов build в любом проводнике, вы увидите, что некоторые файлы все еще остались там.
В моем случае у меня было несколько вариантов, это сработало, как только я удалил всю папку сборки вместе со специфическими папками Flavor. После удаления папок мне пришлось закрыть проект и снова открыть, чтобы он заработал.
пробую AndroidStudio3.5 в Mac OS, все SDK обновлены, используя версию Gradle com.android.tools.build:gradle:3.5.0, это решение у меня не работает
Я также получал эту ошибку при попытке «Создать подписанный APK» для моей версии выпуска. Я пробовал все вышеперечисленные методы, к сожалению, ни один из них не работал для меня.
Что сработало, так это создание сначала подписанной отладочной версии приложения, а затем повторное создание выпуска.
Я не знаю, что именно изменилось или в чем заключалась первоначальная проблема, но это сработало. Я надеюсь, что это поможет и вам, потому что эта ошибка довольно раздражает...
В моем случае мне нужно сгенерировать apk первого варианта продукта (от отладки до выпуска) до последнего варианта (от отладки до выпуска).
Да!! Это сработало и для меня. благодаря. Не знаю почему, но похоже на баг.
пробую AndroidStudio3.5 в Mac OS, все SDK обновлены, используя версию Gradle com.android.tools.build:gradle:3.5.0, это решение у меня не работает
В моем случае: AndroidStudio3.5, сборка комплекта(ов)/apk(s) => сборка apk(s), затем создание подписанного APK
Это безумие, но это решение работает - я не понимаю, почему. Android Studio 3.5, Windows
Это ошибка в Android Studio 3..5
For Android Studio 3.5 & 3.6 Update (APK signed issue)
Шаг 1: Я решил эту проблему, изменив местоположение Папка назначения.
До
c:\user\folder\project\app
После
c:\user\folder\project\apk
For Android Studio
3.4Update.
Шаг 1: После обновления Android-студия 3.4 вам необходимо добавить все зависимости, которые используются в вашем модуле или библиотеке, на вашем уровне приложения build.gradle.
Шаг 2: Чистый проект (Сборка > Чистый проект)
Шаг 3: Перестроить проект (Сборка > Перестроить проект)
Теперь ваш проект отлично скомпилируется.
что это? что мне делать именно? > Шаг 1. После обновления Android Studio 3.4 вам необходимо добавить все зависимости, которые используются в вашем модуле или библиотеке, в build.gradle уровня приложения.
@babay Предположим, вы используете любую библиотеку, использующую библиотеку Glide. Затем вы также должны добавить свою зависимость Glide в свой уровень приложения build.gradle.
я получил эту ошибку после шага 3. APT: ошибка: ресурс android:attr/fontStyle не найден.
@james Я думаю, что не хватает ресурса. выполните следующие шаги, чтобы найти проблему. Нажмите на Gradle (вы найдете в правом верхнем углу)> app_name (root)> другое> assembleDebug
@VishrutMavani Спасибо за ваш ответ, но я обнаружил действительно глупую ошибку студии Android. Я просто изменил путь вывода сборки. Это. Решение Шухам Джейн. См. Ниже его решение.
«Папка назначения» — это поле в модальном режиме «Создать подписанный пакет» или APK;
Это исправило мою проблему в Android Studio v3.5 и проекте Java. Это довольно стандартное явление при создании приложений для Android сейчас ... (1) получить странную непонятную ошибку сборки (2) погуглить (3) переполнение стека (4) применить, казалось бы, несвязанный обходной путь в определенном порядке (5) молиться (6 ) работает (7) переходим к шагу (1)
Я не могу поверить, что рабочим решением этой проблемы на самом деле является «Изменить папку назначения». Но это! ¯\_(ツ)_/¯
я не знаю, где предполагается изменить этот каталог. я еще не разобрался
@Billyjoker Во время подписания APK после ввода учетных данных для подписи, когда вы переходите к следующему экрану, он запросит папку назначения. просто измените путь по умолчанию.
В 3.5.3 «Изменить папку назначения» не поддерживается из-за того, что студия уже отключила параметр изменения места назначения.
@NuwanWithanage У меня есть другое решение, и оно может вам помочь. попробуйте сначала сгенерировать сборку с подписью отладки, а затем сгенерировать подписанную версию.
Меня устраивает:
удалите папку сборки из вашего проекта вручную.
в терминале Android Studio введите эту команду
если пользователь Windows
gradlew clean build
если пользователь линукс
./gradlew clean build
пробую AndroidStudio3.5 в Mac OS, все SDK обновлены, используя версию Gradle com.android.tools.build:gradle:3.5.0, это решение у меня не работает
Я использовал Android Studio 3.5 beta 2, и у меня была точно такая же ошибка, но только в моей сборке выпуска. Попробовав все остальные решения, которые я нашел, единственный способ снова скомпилировать - вернуться к Android Studio 3.4.
Это «решение» также сработало для меня. Перейти на AS 3.4.2, скачать здесь: developer.android.com/studio/архив и перейти с 3.5.0 на: classpath 'com.android.tools.build:gradle:3.4.2'
Обновление до Android Studio 3.4.?, я получаю сообщение
Cause: buildOutput.apkData must not be null
в поисках ответа я нашел процедуру:
Build -> Clean Project
но это не сработало, я знаю, что эта процедура удалит содержимое в каталог /build, но по моему опыту это не работает во всех случаях, поэтому я попробовал «сырой» способ, удалив каталог:
/app/build/
затем я перестраиваю проект, и это сработало.
Это сработало для меня, но мне также пришлось удалить все каталоги <flavor>/<buildConfig> (в них речь идет о файлах output.json). Только Clean project не решил проблему.
В моем случае сборка и запуск проекта с разными конфигурациями сборки прошли успешно. Но генерация подписанного apk выдает ошибку Cause: buildOutput.apkData must not be null, с другой стороны, apk был сгенерирован, и представление переключения Build Output печатает BUILD SUCCESSFUL. Ручная установка заканчивается сообщением App not installed. Моя ошибка заключалась в том, что я использовал compileSdkVersion 'android-P', и после перехода на compileSdkVersion 28 все идет хорошо.
Кажется, очистка проекта может решить проблему, но у меня это сработало так.
File->sync project with gradle files.
Эта проблема обычно возникает, когда вы используете несколько окон студии Android с разными проектами.
Решение
пожалуйста, ссылка на снимок экрана прилагается
пробую AndroidStudio3.5 в Mac OS, все SDK обновлены, используя версию Gradle com.android.tools.build:gradle:3.5.0, это решение у меня не работает
Можете ли вы попробовать «Файл»> «Недействительные кеши/перезагрузить» после удаления автоматически сгенерированных файлов .gradle и сборки @MihodiHasanLushan
единственное решение, которое работает для меня, - это использование в моем корневом градиенте
classpath 'com.android.tools.build:gradle:3.3.0'
что я пробовал: - очистить всю папку сборки вручную - аннулировать кеш но ничего из этого не работает
PS: я использую Android Studio 3.5 кстати
Обновлять :
как и @Vishrut Mavani, изменение папки назначения вашей версии выпуска — это работа.
Я пробовал много вещей, чтобы решить проблему, но ничего не помогло. Я получаю эту ошибку при попытке создать подписанный apk.
Переход на более старые версии Android Studio помог (3.4.2) сработал, однако это не решение.
Функция «Очистить проект» в AS не очищает место, где создается ваш сгенерированный apk, и есть один файл, который может блокировать всю процедуру: output.json.
Попробуйте удалить output.json из .../app/projectname/release/output.json.
Я пробовал все решения, и ни один из них не помог! наконец, после многих попыток я понял это, просто следуйте советам:
yourProject/app/MYAPP_RELEASE_STORE_FILE=KEYSTROK_NAME
MYAPP_RELEASE_KEY_ALIAS=KEY_ALIAS
MYAPP_RELEASE_STORE_PASSWORD=R_PASS
MYAPP_RELEASE_KEY_PASSWORD=K_PASS
android.enableR8=true
уровень приложения build.gradle (внутри андроида):
signingConfigs{
release{
if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
storeFile file(MYAPP_RELEASE_STORE_FILE)
storePassword MYAPP_RELEASE_STORE_PASSWORD
keyAlias MYAPP_RELEASE_KEY_ALIAS
keyPassword MYAPP_RELEASE_KEY_PASSWORD
}
}
}
configurations {
cleanedAnnotations
compile.exclude group: 'org.jetbrains' , module:'annotations'
}
release {
manifestPlaceholders = [analytics_deactivated: "false"]
minifyEnabled true
signingConfig signingConfigs.release
useProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
Mac: ./gradlew clean assemble_YOUR_FAVOR_Release
Выигрыш: gradlew clean assemble_YOUR_FAVOR_Release
где _YOUR_FAVOR_ — ваша дополнительная услуга, если вы не используете какую-либо услугу, просто используйте assembleRelease вместо assemble_YOUR_FAVOR_Release
Решение для меня состояло в том, чтобы удалить все файлы и папки из выходной папки apk.
У меня была эта проблема при создании подписанного apk для «производственного» варианта, и output.json в выходной папке «feature» вызывает проблему -> Android Studio 3.6 Canary 7 показал мне правильное сообщение об ошибке.
Теперь он также работает для стабильной версии AS 3.5 с плагином Gradle 3.5.0.
Все решения не работали со мной
Android-студия V 3.5
Плагин Android Gradle V 3.4.2
Версия Gradle V 5.1.1
Все решения не работали со мной
В моем случае обновление AndroidStudio 3.4+ до 3.5.
И, наконец, я решил это, изменив «Папку назначения» на «app/build/outputs/apk»
.
подробное изображение
FOR Android Studio 3.5 | 3.6
отладочные сборки завершаются без ошибок. Создание подписанного .apk приводит к той же ошибке
buildOutput.apkData must not be null
Простое решение, которое я нашел, есть. Во время подписания apk после ввода учетных данных для подписи, когда вы переходите к следующему экрану, он запросит папку назначения, просто изменив путь по умолчанию.
Предположим, что текущий путь назначения
c:\user\folder\project\app
изменить его на
c:\user\folder\project\
то он успешно сгенерирует подписанный apk.
Я очень ценю ваше решение. Спасибо. Это просто простая и очень глупая ошибка сборки Android Studio.
Вау, ты спас мне жизнь этим. Однако это ошибка в Android Studio или мой проект испорчен?
@ Виджай Кумар Канта, это проблема со студией, надеюсь, в новом обновлении она будет исправлена.
OMG, это обновление Android Studio до 3.5 приносит мне много проблем.
Очень полезно в Android 3.5.2
Спасибо и хорошее решение. Я обновил Android Studio, даже эта ошибка возникает в Android Studio 3.6. Это решение спасло мой день. Еще раз спасибо
спасибо за решение, в моем приложении есть класс С++ от сотни до тысячи, поэтому очистка займет время.
Эта проблема возникает после обновления моей студии Android с версии 3.4 до версии 3.5. Теперь он работает нормально
Я исправил эту проблему, удалив файлы debug/output.json и release/output.json.
Android-студия 3.5 compilesdkВерсия 28
apk работает
Меня тоже раздражал такой же баг. Но мне помогло изменение моего Подписанный apk-адрес с c/пользователи/проект/приложение на c/пользователи/проект.
Я пробовал выше несколько решений, но ничего не произошло, тогда я нашел это это и у меня сработало
deleting debug/output.json and release/output.json solved my problem
Теперь я могу сгенерировать apk
Просто измените Место выпуска/отладки Apk.
БЫВШИЙ:
/home/sanaebadi/Desktop
после изменения:
/home/sanaebadi/apk
1- Удалите все сгенерированные пакеты приложений (.aab) и APK для всех вариантов.
2- Удалить папку сборки
3- чистый проект
Вручную удалите все существующие папки вариантов сборки, а также папку сборки в папке проекта, которая работала для меня.
Создать подписанный APK для отлаживать, а затем вы можете создать подписанный APK для выпуск.
Вы не можете создать «Подписанный отладочный APK»
Вы можете подписать отладочную сборку developer.android.com/studio/publish/app-signing#debug-mode
Обычно эта проблема возникает при обновлении Android Studio V3.4 до V3.5.
Попробуйте удалить файлы debug/output.json и release/output.json.
Затем попробуйте выполнить следующие действия:
Шаг 1: Чистый проект (Сборка > Чистый проект)
Шаг 2: Перестроить проект (Сборка > Перестроить проект)
У меня андроид студия 3.5.1. Для меня работают следующие шаги
Решение :-
1- Build -> Clean Project не помог
2-Build -> Make Project не помог
3- перезапустить андроид студию не помогло
4- Удаление папки Build вручную с app и project не помогло
единственным решением для меня было удалить все старые сборки из папки назначения.
AS 4.0.1 (устанавливается через оснастку)
Убунту 18.04 лт
настройка сборок через вариант сборки.
Комбинации инвалидировать кеш/сборку/очистить и т.д. сами по себе не помогли, помогло только переключение сборки активного варианта сборки обратно на armDebug и после этого очистка/сборка.
Как только я переключился обратно на нужный вариант, я смог построить правильно.
Я создал тикет issuetracker.google.com/issues/129994596