Je reçois toujours cette erreur. Je travaille sur un projet et en cours de développement, j'ai décidé de migrer vers Android X.
J'obtiens l'erreur ci-dessous:
Note: Failed to read get kotlin metadata for [Ljava.lang.Object;@79d6c4df
Il y a la même erreur dans un fichier d'entité et 4 de la même erreur dans le DAO respectif également.
Voici le code de DAO:
@Dao
public interface FlockDao{
@Query("SELECT * FROM flock_table")
LiveData<List<Flock>> getAllFlocks();
@Query("SELECT * FROM flock_table WHERE fid IN (:flockIds) LIMIT 1")
Flock loadFlockById(int[] flockIds);
@Insert
void insert(Flock flock);
@Update
void update(Flock flock);
@Delete
void delete(Flock flock);
}
Et mon entité est:
@Entity
public class Flock{
@PrimaryKey(autoGenerate = true)
private int fid;
@ColumnInfo(name = "user_id")
private int uid;
@ColumnInfo(name = "name")
private String name;
@ColumnInfo(name = "capacity")
private int capacity;
@ColumnInfo(name = "type")
private String type;
@ColumnInfo(name = "arrived")
private Date arrived;
.....rest of the code is omitted, there are constructor, setters and getters
}
J'ai résolu en ajoutant ceci à build.gradle (Module)
androidTestImplementation "androidx.Arch.core:coretesting:$rootProject.archLifecycleVersion"
Dans mon build.gradle (Projet)
ext {
roomVersion = '2.1.0-alpha06'
archLifecycleVersion = '2.0.0'
}
Modifiez simplement room_version dans votre fichier gradle_module dans le bloc de dépendance et modifiez les autres bibliothèques associées à la salle dont vous avez besoin. Utilisez https://developer.Android.com/jetpack/androidx/releases/room#2.2.0-alpha01 comme exemple. Essayez d'utiliser la dernière version stable de la salle.
J'ai la même erreur et j'ai utilisé la version 2.1.x-alpha et après la mise à jour vers 2.2.3, la nouvelle version a signalé l'erreur correctement et c'est que l'une de mes entités n'avait pas de clé primaire
Ajouter import androidx.room.Dao;
puis la réimporter a fait l'affaire pour moi.