web-dev-qa-db-fra.com

Ajouter kapt à utiliser Room provoque des erreurs de compilation

J'ai ajouté apply plugin: 'kotlin-kapt' pour pouvoir utiliser le processus d'annotation de salle:

compile "Android.Arch.persistence.room:runtime:1.0.0"
kapt "Android.Arch.persistence.room:compiler:1.0.0"

Cependant, lorsque je construis mon projet, je reçois:

Folder C:\Users\...\app\build\generated\source\kaptKotlin\debug


Folder C:\Users\...\app\build\generated\source\kaptKotlin\release


3rd-party Gradle plug-ins may be the cause

Si je me débarrasse de kapt et utilise simplement annotationProcessor à la place. L'application se bloque en disant:

Java.lang.RuntimeException: impossible de trouver l'implémentation pour com.example..data.database.Appdatabase . Appdatabase_Impl n'existe pas

Des idées sur la façon d'utiliser Room

8
Code

Je faisais face à un problème similaire. 

Aller à:

Exécuter -> Modifier les configurations -> Général

Au bas, il y a une fenêtre nommée

Avant le lancement: Gradle-Aware, fenêtre d’outil actif

Retirer 

Mise à disposition instantanée de l'application

et garder la marque Gradle-aware

1
Amrita

Je supprime deux dossiers app\build\génération\source\kaptKotlin\debug et app\build\génération\source\kaptKotlin\release ("debug" et "release") et addin gradle:

kapt {
        mapDiagnosticLocations = true
    }

alors le projet est synchronisé sans problème.

0
A Mo