Android chambre persistants: AppDatabase_Impl n'existe pas
Mon appli classe de base de données
@Database(entities = {Detail.class}, version = Constant.DATABASE_VERSION)
public abstract class AppDatabase extends RoomDatabase {
private static AppDatabase INSTANCE;
public abstract FavoritesDao favoritesDao();
public static AppDatabase getAppDatabase(Context context) {
if (INSTANCE == null) {
INSTANCE =
Room.databaseBuilder(context.getApplicationContext(), AppDatabase.class, Constant.DATABASE).allowMainThreadQueries().build();
//Room.inMemoryDatabaseBuilder(context.getApplicationContext(),AppDatabase.class).allowMainThreadQueries().build();
}
return INSTANCE;
}
public static void destroyInstance() {
INSTANCE = null;
}
}
Gradle lib:
compile "android.arch.persistence.room:runtime:+"
annotationProcessor "android.arch.persistence.room:compiler:+"
Et quand j'ai demander, par exemple, il va donner à cette erreur, AppDatabase_Impl n'existe pas
dans ma classe d'application
public class APp extends Application {
private boolean appRunning = false;
@Override
public void onCreate() {
super.onCreate();
AppDatabase.getAppDatabase(this); //--AppDatabase_Impl does not exist
}
}
Pouvez-vous fournir le bon logcat d'erreur, vous obtenez?
Causés par: java.lang.RuntimeException: impossible de trouver la mise en œuvre de AppDatabase. AppDatabase_Impl n'existe pas
Avez-vous fourni la salle emplacement du schéma dans gradle?
Avez-vous une solution à ce problème? Je suis aussi d'avoir le même problème.
Causés par: java.lang.RuntimeException: impossible de trouver la mise en œuvre de AppDatabase. AppDatabase_Impl n'existe pas
Avez-vous fourni la salle emplacement du schéma dans gradle?
Avez-vous une solution à ce problème? Je suis aussi d'avoir le même problème.
OriginalL'auteur pratik deshai | 2017-10-10
Vous devez vous connecter pour publier un commentaire.
Pour ceux qui travaillent avec Kotlin, essayez de changer de
annotationProcessor
àkapt
dans les applicationsbuild.gradle
par exemple:
aussi n'oubliez pas d'ajouter appliquer plugin: 'kotlin-kapt' vers le haut de l'app niveau de la construction.gradle de fichiers et d'effectuer un travail propre et de reconstruction (selon https://codelabs.developers.google.com/codelabs/android-room-with-a-view/#6)
Également besoin d'ajouter
apply plugin: 'kotlin-kapt'
à la partie supérieure de l'application au niveaubuild.gradle
fichierNe fonctionne toujours pas
bro! vous avez littéralement sauvé mon cul. lol. +1
Ce qui m'a sauvé....Je pense que Google devrait travailler de plus, sur présentation du bon d'erreur...j'ai eu kapt appeler, mais je n'ai pas ajouter appliquer kapt-plugin
OriginalL'auteur RWIL
Suffit d'utiliser
dans l'app construire.gradle
Et de conserver à la fois dans les dépendances
MODIFIER
Dans une version plus récente n'est pas nécessaire d'ajouter les deux dépendances à un moment
Utilisez simplement, espère que cela va fonctionner.
OriginalL'auteur Jahangir Kabir
J'ai eu ce message d'erreur lorsque je l'ai raté
S'assurer que le modèle d'entité spécifiée dans l'annotation ci-dessus se réfère à un modèle particulier de la classe et de veiller à ce que le nécessaire annotation:
est correctement défini et vous seriez bien
OriginalL'auteur Thadeus Ajayi
Ce n'est pas seulement à propos de la mise à jour de vos dépendances. Assurez-vous que votre Pièce dépendances ont la même version.
Dans l'exemple de l'extrait de code ci-dessus, toute ma Salle de dépendances n'ont pas la même version
1.1.0-alpha2
OriginalL'auteur Idee
Pour Kotlin Développeurs
Utiliser ceci:
Et ajouter
apply plugin: 'kotlin-kapt'
à la partie supérieure de l'application au niveaubuild.gradle
.Pour Les Développeurs Java
OriginalL'auteur Pedro Massango
J'ai rencontré ce problème parce que j'ai oublié l'apt dépendances
après l'ajout de la annotationProcessor, et de le reconstruire, le problème est résolu.
OriginalL'auteur ahsiu
Je rencontre le problème, parce que j'oublie
@Dao
annotationSalle de tutoriel Officiel
Corrigé par l'ajout de kapt
OriginalL'auteur shellhub
Utilisation suivantes gradle lien:
Vous avez besoin pour créer diffretn singloton classe et obtenir le Appdatabase à partir de là comme ceci:
RoomDB.java
App.java
J'ai créé un Exemple de Projet pour la Chambre de la Base de données vous pouvez le vérifier ici: github.com/burhanrashid52/Android-Room-Data-Persistent
je n'ai, comme par le lien ci-dessus, mais toujours la même erreur.
Vérifier mes mises à jour répondre
oui j'ai mis à jour, mais de seuil même erreur, AppDatabase_Impl n'existe pas
OriginalL'auteur Burhanuddin Rashid
Eu le même problème. Mis en œuvre les quelques classes et interface officiellement déclaré dans un nouvel exemple de projet créé par Android Studio:
https://developer.android.com/training/data-storage/room/
Toutes les solutions mentionnées ci-dessus ne vous aide pas, les informations nécessaires _Impl fichiers en fonction de ma base de données de la classe n'ont pas été générées par Chambre. Enfin, l'exécution de gradle construction propre dans le terminal m'a donné l'astuce qui conduisent à la solution:
"avertissement: Schéma d'exportation de répertoire n'est pas prévu pour le processeur d'annotation donc on ne peut pas exporter le schéma. Vous pouvez soit fournir
room.schemaLocation
processeur d'annotation d'un argument OU d'ensemble exportSchema à faux."J'ai ajouté le paramètre exportSchema = false dans la base de données de la classe
Et puis il a travaillé, a trouvé ces deux fichiers générés dans l'app module sous generatedJava:
Je ne comprends pas ce comportement en tant que paramètre est dit être en option, voir
https://stackoverflow.com/a/44645943/3258117
Ah oui, l'exécution de tâches dans le terminal aussi m'a beaucoup aidé dans le passé. Les outils de génération de messages dans l'IDE souvent de "cacher" le message d'erreur d'origine
OriginalL'auteur Hajo
Dans mon cas, j'ai été tester la connectivité de base de données salle et j'ai mis le test de classe à l'intérieur du répertoire que j'ai créé à l'intérieur de la AndroidTest dossier. J'ai déplacé hors du répertoire personnalisé, puis il a travaillé assez bien.
TestDatabase
dans le code de la version.OriginalL'auteur Farruh Habibullaev
Le problème est plus dans la bonne bibliothèque qui n'est pas inclus dans le build gradle. J'ai eu un problème similaire et a ajouté que le manque
OriginalL'auteur Saurabh Sharma
Le même phénomène s'est produit pour moi.
suivantes
L'ajout d'une autre erreur de build, mais des pistes de la cause à partir du journal.
Dans mon cas, il y a une erreur dans le code SQL de mise en œuvre.
Après fixation, la construction a été un succès.
De sorte que vous voudrez peut-être vérifier la mise en œuvre de l'ensemble de la salle de la bibliothèque au lieu de regarder la s'est écrasé habitants.
OriginalL'auteur user11221761