web-dev-qa-db-fra.com

Cause: buildOutput.apkData ne doit pas être nul

Mon Android utilisant Kotlin lève cette exception lorsque j'essaie d'exécuter "app" dans l'émulateur o de mon téléphone portable. Lorsque je crée mon projet, il fonctionne bien, sans erreur.

J'utilise:

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

Cliquez sur Build -> Clean Project

Puis Build -> Make Project

Testé sur gradle 3.5.0-alpha3, -alpha5 et 3.4.0 (project gradle)

classpath 'com.Android.tools.build:gradle:3.5.0-alpha03'
291
Martin Pfeffer

Pour Android Mise à jour Studio 3.5. (Problème signé APK)

Étape 1: J'ai résolu ce problème en modifiant l'emplacement Dossier de destination.

Avant

c:\user\folder\project\app

Après

c:\user\folder\project\apk


Pour Android Mise à jour Studio 3.4.

Étape 1: Après la mise à jour Android Studio 3.4 vous devez ajouter toutes les dépendances utilisées dans votre module ou votre bibliothèque au niveau de votre application build.gradle.

Étape 2: Clean Project (Build> Clean Project)

Étape 3: Reconstruire le projet (Build> Rebuild Project)

Maintenant, votre projet se compilera parfaitement.

142
Vishrut Mavani

POUR Android Studio 3.5 | 3.6

les versions de débogage se terminent sans aucune erreur. Lors de la création d'un .apk signé conduit à la même erreur

buildOutput.apkData must not be null

la solution simple que j'ai trouvée est. Lors de la signature, l'apk après avoir entré les informations d'identification de signature lorsque vous accédez à l'écran suivant, il vous demandera de modifier le chemin par défaut.

Supposons que le chemin de destination actuel soit

c:\utilisateur\dossier\projet\application

le changer en

c:\utilisateur\dossier\projet \

alors il générera avec succès l'apk signé.

Android studio destination folder screenshot

119
Shubham Jain

J'obtenais également cette erreur lorsque j'essayais de "Générer un fichier APK signé" pour ma version finale. J'ai essayé toutes les méthodes ci-dessus, malheureusement aucune n'a fonctionné pour moi.

Ce qui a fonctionné, a été de générer d'abord la version signée de débogage de l'application, puis de générer à nouveau la version finale.

Je ne sais pas exactement ce qui a changé ou quel était le problème d'origine, mais cela a fonctionné. J'espère que cela vous aidera aussi, car cette erreur est assez ennuyeuse ...

49
Kuruchy

Le nettoyage du projet ne m'a pas aidé mais la suppression manuelle de tous les dossiers build générés automatiquement dans tous les modules a aidé. enter image description here

21
Roman Nazarevych

Mise à jour vers Android Studio 3.4.?, je reçois le message

Cause: buildOutput.apkData ne doit pas être nul

à la recherche d'une réponse j'ai trouvé la procédure:

Build -> Clean Project

mais cela ne fonctionne pas, je sais que cette procédure supprimera le contenu dans le /build répertoire mais pour mon expérience cela ne fonctionne pas dans tous les cas, j'ai donc essayé la méthode "brute" en supprimant le répertoire:

/app/build/ 

puis je reconstruis le projet et ça a marché.

18
Jorgesys

J'ai essayé plusieurs solutions mais rien ne s'est passé alors j'ai trouvé ça this et j'ai travaillé pour moi

    deleting debug/output.json and release/output.json solved my problem

Maintenant je peux générer apk

8
Rohan Pawar

Toutes les solutions n'ont pas fonctionné avec moi

Android Studio V 3.5

Plugin Android Gradle V 3.4.2

Gradle version V 5.1.1

  1. Nettoyer le projet
  2. Redémarrez Android Studio + Caches invalides
  3. Supprimez le dossier build, debug et releases
  4. Faire un projet
  5. Générer un fichier APK signé

Référence

8
Qays Dwekat

J'ai essayé beaucoup de choses pour résoudre le problème, mais rien n'y fait. J'obtiens cette erreur lorsque j'essaie de générer un apk signé.

La rétrogradation vers des versions plus anciennes de Android Studio a aidé (3.4.2) à fonctionner, mais ce n'est pas la solution.

La fonction 'Clean Project' dans AS ne nettoie pas l'endroit où votre apk généré est créé et il y a un fichier qui peut bloquer toute la procédure: output.json

Essayez de supprimer output.json de .../app/projectname/release/output.json

7
TheScriptan

J'utilisais Android Studio 3.5 beta 2 et j'avais exactement la même erreur mais uniquement sur ma version de version. Après avoir essayé toutes les autres solutions que j'ai trouvées, la seule façon de recompiler était à nouveau pour revenir à Android Studio 3.4.

5
amp

Ça marche pour moi:

  1. supprimer manuellement le dossier de construction de votre projet.

  2. dans le terminal de Android studio tapez cette commande

si l'utilisateur Windows

gradlew clean build

si utilisateur linux

./gradlew clean build
4
Abhishek Garg

Ce problème se produit généralement lorsque vous exécutez plusieurs fenêtres de studio Android avec différents projets.

La solution est

  • choisissez un projet plutôt que de supprimer .gradle et de créer des dossiers
  • que nettoyer et reconstruire le projet.

s'il vous plaît ref capture d'écran ci-jointe

please ref screen shot attached

4
Suresh Maidaragi

Modifiez simplement emplacement de sortie/débogage Apk.

EX:

/home/sanaebadi/Desktop

après changement:

/home/sanaebadi/apk
4
sana ebadi

La solution pour moi était de supprimer tous les fichiers et dossiers du dossier de sortie apk. J'ai eu ce problème lors de la création d'une apk signée pour une saveur "production" et le output.json dans le dossier de sortie "fonctionnalité" provoque le problème -> Android Studio 3.6 Canary 7 m'a montré le message d'erreur correct. Il fonctionne également maintenant pour AS 3.5 stable avec Gradle Plugin 3.5.0.

3
3dmg

J'ai Android studio 3.5.1. Pour moi, les étapes ci-dessous sont effectuées

  1. Fichier -> Invalider les caches/redémarrer
  2. Après Android studio redémarré, cliquez sur Build -> Clean project
  3. Puis construire -> Reconstruire le projet
2
Sachin Tanpure

la seule solution qui fonctionne pour moi est d'utiliser mon grade racine

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

ce que j'ai essayé: - effacer tout le dossier de construction manuellement - invalider le cache mais rien de tout cela ne fonctionne

PS: j'utilise Android studio 3.5 btw

Mettre à jour :

tout comme @Vishrut Mavani, changer le dossier de destination de votre version finale est un travail

2
justnoone

Habituellement, ce problème se produit lors de la mise à jour Android Studio V3.4 vers V3.5. Essayez de supprimer debug/output.json et release/output.json des dossiers.

Essayez ensuite ces étapes:

Étape 1: Clean Project (Build> Clean Project)

Étape 2: Reconstruire le projet (Build> Rebuild Project)

2
Masoud Mokhtari

Toutes les solutions n'ont pas fonctionné avec moi
Dans mon cas, de la mise à jour AndroidStudio 3.4+ vers la version 3.5.
Et enfin je le résout en modifiant 'Dossier de destination' en "app/build/sorties/apk"
photo détaillée

2
pool

J'ai essayé toutes les solutions et aucune n'a aidé! enfin après de nombreux essais, je l'ai compris, il suffit de suivre les conseils:

  1. copiez votre frappe de signature (que vous utilisez pour libérer) dans yourProject/app/
  2. gradle.properties (modifiez les valeurs liées à votre propre clé):
    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
    
  3. niveau de l'application build.gradle (dans 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'
    }
    
    
  4. niveau de l'application build.gradle (dans buildTypes):
    release {
        manifestPlaceholders = [analytics_deactivated: "false"]
        minifyEnabled true
        signingConfig signingConfigs.release
        useProguard true
        proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
    }
    

    5. enfin cette commande:

mac: ./gradlew clean assemble_YOUR_FAVOR_Release

gagner: gradlew clean assemble_YOUR_FAVOR_Release

_YOUR_FAVOR_ est votre faveur optionnelle, si vous n'utilisez aucune faveur, utilisez simplement assembleRelease au lieu de assemble_YOUR_FAVOR_Release

1
AlirezaXX

Dans mon cas, la construction et le lancement du projet avec différentes configurations de construction ont réussi. Mais la génération d'apk signé génère une erreur Cause: buildOutput.apkData must not be null d'autre part, l'apk a été généré et la vue de bascule de la sortie de génération imprime BUILD SUCCESSFUL. L'installation manuelle se termine par un message App not installed. Ma faute était en utilisant compileSdkVersion 'Android-P' et après être passé à compileSdkVersion 28 tout va bien.

1
Stanislav Bondar

J'étais aussi ennuyé par le même bug. Mais changer mon Destination apk signée de c/users/project/app à c/users/project a fonctionné pour moi.

1
Sarthak Sharma

Supprimez manuellement tous les dossiers de variantes de build existants, ainsi que le dossier de build du dossier de projet qui a fonctionné pour moi.

1
Thamilvanan

1- Supprimez tous les bundles d'applications générés (.aab) et APK pour toutes les variantes.

2- Supprimer le dossier de construction

3- projet propre

1
Islam Assi

Générez un fichier APK signé pour débogage, puis vous pouvez générer un fichier APK signé pour version.

0
Dita Aji Pratama

Ce problème se produit après la mise à jour de mon Android studio v3.4 à v3.5 Maintenant, cela fonctionne bien

J'ai résolu ce problème en supprimant les fichiers debug/output.json et release/output.json

Android Studio 3.5 compiledkVersion 28

apk génération de travail

0
Pradeep P