Ответ 1
Нажмите 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'
Мое приложение для Android, использующее Kotlin, выдает это исключение, когда я пытаюсь запустить "приложение" в эмуляторе o в моем мобильном телефоне. Когда я строю свой проект, он работает хорошо, без ошибок.
Я использую:
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'
For
Android Studio 3.5
Update. (APK signed issue)
Шаг 1. Я решил эту проблему, изменив местоположение папки назначения.
Перед
c:\user\folder\project\app
После того, какAfter
c:\user\folder\project\apk
For Android Studio 3.4 Update.
Шаг 1. После обновления Android Studio 3.4 вам нужно добавить все зависимости, которые использовались в вашем модуле или библиотеке, на уровне приложения build.gradle
.
Шаг 2. Чистый проект (Build> Чистый проект)
Шаг 3. Перестроить проект (Build> Rebuild Project)
Теперь ваш проект будет отлично скомпилирован.
ДЛЯ Android Studio 3.5
отладочные сборки заканчиваются без ошибок. При создании подписанного .apk приводит к той же ошибке
buildOutput.apkData must not be null
Простое решение, которое я нашел. Во время подписания apk после ввода учетных данных для подписи, когда вы переходите к следующему экрану, он запросит папку назначения, просто измените путь по умолчанию.
Предположим, что текущий путь назначения
c:\user\folder\project\app
измените его на
c:\user\folder\project\
тогда он успешно сгенерирует подписанный apk.
Я также получал эту ошибку при попытке "Создать подписанный APK" для моей продакшен версии. Я перепробовал все вышеперечисленные методы, но, к сожалению, у меня не получилось.
То, что работало, сначала генерировало отлаженную версию приложения с подписью, а затем снова генерировало релизную.
Я не знаю, что именно изменилось или какова была первоначальная проблема, но это сработало. Я надеюсь, что это тоже поможет вам, потому что эта ошибка весьма раздражает...
Очистка проекта мне не помогла, но помогло удаление всех автоматически сгенерированных папок build во всех модулях.
Обновление до Android Studio 3.4.?, я получаю сообщение
Причина: buildOutput.apkData не должно быть нулевым
в поисках ответа я нашел процедуру:
Build
→ Clean Project
но это не сработало, я знаю, что эта процедура удалит содержимое в каталог /build
, но, по моему опыту, это не работает во всех случаях, поэтому я попробовал "сырой" способ, удалив каталог:
/app/build/
Затем я перестроил проект, и он заработал.
Я пробовал много вещей, чтобы решить проблему, но ничего не помогло. Я получаю эту ошибку при попытке создать подписанный apk.
Снижение до более старых версий Android Studio помогло (3.4.2), но это не решение.
Функция "Очистить проект" в AS не очищает место, где создается ваш сгенерированный apk, и есть один файл, который может блокировать всю процедуру: output.json
Попробуйте удалить файл output.json из... /app/projectname/release/output.json
Я использовал Android Studio 3.5 beta 2, и у меня была точно такая же ошибка, но только при сборке релиза. Попробовав любое другое решение, которое я нашел, единственный способ, которым я смог снова скомпилировать, - это вернуться в Android Studio 3.4.
Все решения не помогли мне
Android Studio V 3.5
Плагин Android Gradle V 3.4.2
Gradle Версия V 5.1.1
Меня устраивает:
удалите папку сборки из вашего проекта вручную.
в терминале андроид студии наберите эту команду
если пользователь Windows
gradlew clean build
если пользователь Linux
./gradlew clean build
Эта проблема обычно возникает, когда вы запускаете несколько окон Android Studio с разными проектами.
Решение
пожалуйста, сделайте снимок экрана прилагается
Я пробовал выше несколько решений, но ничего не произошло, потом я нашел это это и у меня сработало
deleting debug/output.json and release/output.json solved my problem
Теперь я могу сгенерировать apk
единственное решение, которое работает для меня, - это использование моего корневого Gradle
classpath 'com.android.tools.build:gradle:3.3.0'
что я пробовал: - очистить всю папку сборки вручную - сделать кеш недействительным но ничего из этого не работает
PS: я использую Android Studio 3,5 кстати
Обновление:
так же, как @Vishrut Mavani, изменение папки назначения вашей версии релиза работает
Решением для меня было удалить все файлы и папки из выходной папки apk.
У меня была эта проблема при создании подписанного apk для "производственного" варианта, и output.json
в выходной папке "feature" вызывает проблему → Android Studio 3.6 Canary 7
показал мне правильное сообщение об ошибке.
Это также работает сейчас для AS 3.5 стабильной с Gradle Plugin 3.5.0.
Просто измените место выпуска/отладки Apk.
EX:
/home/sanaebadi/Desktop
после изменения:
/home/sanaebadi/apk
В моем случае проект сборки и запуска с различными конфигурациями сборки прошел успешно. Но генерирование подписанной ошибки выдает apk Cause: buildOutput.apkData must not be null
другой стороны, Cause: buildOutput.apkData must not be null
сгенерированный apk и переключаемый режим Build Output выводит BUILD SUCCESSFUL
. Ручная установка заканчивается сообщением App not installed
. Моя ошибка заключалась в использовании compileSdkVersion 'android-P'
и после перехода на compileSdkVersion 28
все compileSdkVersion 28
хорошо.
Я пробовал все решения, и ни одно из них не помогло! наконец, после многих попыток, я понял это, просто следуйте советам:
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 (внутри Android):
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
Все решения не помогли мне
В моем случае из AndroidStudio 3. 4+ обновление до 3.5.
И, наконец, я решаю это, изменив "Папка назначения" на "app/build/output/apk"
подробный рисунок
Меня тоже раздражал тот же баг. Но изменение моего подписанного назначения apk с c/users/project/app на c/users/project мне помогло.
1- Удалите все сгенерированные пакеты приложений (.aab) и APK для всех вариантов.
2- Удалить папку сборки
3- чистый проект
Удалите вручную всю существующую папку варианта сборки, а также папку сборки в папке проекта.
Создать подписанный APK для отладки, а затем вы можете создать подписанный APK для версии.
Обычно эта проблема возникает при обновлении Android Studio V3.4 до V3.5.
Попробуйте удалить файлы debug/output.json
и release/output.json
Кажется, очистка проекта может решить проблему, но для меня это сработало так.
File-> синхронизировать проект с файлами Gradle.
Эта проблема возникает после обновления моей Android Studio v3.4 до v3.5 Теперь он работает нормально
Я исправил эту проблему, удалив файлы debug/output.json и release/output.json
Android Studio 3.5 compilesdkVersion 28
apk создание рабочих
Я откатился на
classpath 'com.android.tools.build:gradle:3.4.1'
И все работает хорошо.