266 votes

Cause : buildOutput.apkData ne doit pas être nul

Mon application Android utilisant Kotlin lève cette exception lorsque j'essaie de lancer 'app' dans l'émulateur de mon téléphone portable. Lorsque je construis mon projet, il fonctionne bien, sans aucune 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)
        ...

3 votes

3 votes

J'ai le même problème après avoir mis à jour Android Studio en 3.4.

2 votes

Vérifiez la réponse de Lemberg qui fonctionne pour moi, j'ai été confronté à ce problème aujourd'hui.

18voto

Elenasys Points 23268

Mise à jour vers Android Studio 3.4. ? j'obtiens le message suivant

Cause : buildOutput.apkData ne doit pas être nul

En cherchant une réponse, j'ai trouvé la procédure :

Build -> Clean Project

mais cela ne fonctionne pas, je sais que cette procédure va supprimer le contenu dans le fichier /build mais d'après 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/ 

J'ai ensuite reconstruit le projet et cela a fonctionné.

11voto

Rohan Pawar Points 444

J'ai essayé les multiples solutions ci-dessus mais rien ne s'est produit, puis j'ai trouvé ceci este et a fonctionné pour moi

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

Maintenant je suis capable de générer l'apk

9voto

Qays Dwekat Points 107

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émarrer Android Studio + Invalider les caches
  3. Supprimer le dossier build, debug, et releases
  4. Faire un projet
  5. Générer un APK signé

Référence

7voto

TheScriptan Points 83

J'ai essayé de nombreuses choses pour résoudre ce 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 d'Android Studio a fonctionné (3.4.2), mais ce n'est pas la solution.

La fonction "Nettoyer le projet" 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 le fichier output.json de .../app/projectname/release/output.json.

5voto

amp Points 1561

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X