315 votes

Un échec s'est produit lors de l'exécution de org.jetbrains.kotlin.gradle.internal.KaptExecution

Tout d'un coup, je commence à obtenir cette erreur, et je ne suis pas obtenir idée pourquoi si quelqu'un juste me faire savoir où cette erreur est, sera assez utile. Autant que je suis capable d'obtenir est ce en raison de la nouvelle mise à jour de Android studio. Résumé détaillé de l'erreur que je reçois.

Task :app:kaptDebugKotlin
    ANTLR Tool version 4.5.3 used for code generation does not match the current runtime version 4.7.1ANTLR Runtime version 4.5.3 used for parser compilation does not match the current runtime version 4.7.1ANTLR Tool version 4.5.3 used for code generation does not match the current runtime version 4.7.1ANTLR Runtime version 4.5.3 used for parser compilation does not match the current runtime version 4.7.1C:\Users\shubh\Downloads\MarginCalculator\app\build\generated\source\kapt\debug\com\kotlin_developer\margincalculator\DataBinderMapperImpl.java:10: error: cannot find symbol
    import com.kotlin_developer.margincalculator.databinding.FragmentCalculatorScreenBindingImpl;

    symbol:   class FragmentCalculatorScreenBindingImpl

    Task :app:kaptDebugKotlin FAILED
    location: package com.kotlin_developer.margincalculator.databinding
    FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:kaptDebugKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptExecution
   > java.lang.reflect.InvocationTargetException (no error message)

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 17s
29 actionable tasks: 27 executed, 2 up-to-date

427voto

Eric Points 2795

L'interface utilisateur d'Android Studio cachait juste l'erreur...

lorsque l'erreur s'est produite, elle a mis l'élément en surbrillance dans la vue de la liste et a affiché un message inutile dans la vue du terminal. bad bad

pour trouver l'erreur réelle, sélectionnez l'élément Root dans la vue de liste afin qu'Android Studio affiche l'ensemble de la sortie de construction dans la vue du terminal, puis faites défiler pour trouver l'erreur. good good

98voto

Ashir Mehmood Points 851

Peut-être que je suis un peu en retard pour la réponse mais, quoi qu'il en soit, j'ai eu la même erreur. L'échec de la construction peut être causé par une erreur qu'Android Studio ne parvient pas à signaler, probablement en raison de la taille très importante du projet.

Voici un moyen simple de signaler l'erreur exacte.

  1. Dans Android studio, allez dans Analysez et cliquez sur Inspecter le code ; vérifiez l'ensemble du projet, cliquez sur OK et attendez que l'inspection se termine.

    Inspect Code

  2. Vous verrez alors un onglet qui indiquera toutes les erreurs, les avertissements, etc. et vous pourrez maintenant résoudre le véritable problème.

    Errors tab

86voto

toobsco42 Points 613

La façon de découvrir le problème sous-jacent est d'exécuter la commande suivante :

./gradlew assembleDebug --stacktrace

76voto

tuanvn91 Points 243

Changement

implementation "android.arch.persistence.room:runtime:1.1.1"
kapt "android.arch.persistence.room:compiler:1.1.1"

A

 implementation "androidx.room:room-runtime:2.2.5"
 kapt  "androidx.room:room-compiler:2.2.5"

29voto

Ajay J G Points 193

J'ai eu le même problème, donc j'ai essayé d'obtenir plus d'informations, en faisant

gradle->app->Tâches->Construire->assembler

Après cela, j'ai obtenu une erreur exacte disant "Error while annotation processing". J'ai vérifié ma classe DAO récemment modifiée et j'ai constaté que l'un des types de retour de méthode n'était pas défini.

//Before
@Query("SELECT countryName FROM country_table WHERE countryCode= :code")
    fun getCountryNameForCode(code: String)

//After
@Query("SELECT countryName FROM country_table WHERE countryCode= :code")
    fun getCountryNameForCode(code: String): String

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