このエラーが発生し続けます。私はプロジェクトに取り組んでおり、開発の途中でAndroid X.
以下のエラーが発生します:
Note: Failed to read get kotlin metadata for [Ljava.lang.Object;@79d6c4df
エンティティファイルにも同じエラーがあり、それぞれのDAOにも同じエラーが4つあります。
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);
}
そして私の実体は:
@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
}
これをbuild.gradle(モジュール)に追加して解決しました
androidTestImplementation "androidx.Arch.core:coretesting:$rootProject.archLifecycleVersion"
私のbuild.gradle(Project)で
ext {
roomVersion = '2.1.0-alpha06'
archLifecycleVersion = '2.0.0'
}
依存ブロックのgradle_moduleファイルのroom_versionを変更し、必要な他のルーム関連ライブラリを変更してください。例として https://developer.Android.com/jetpack/androidx/releases/room#2.2.0-alpha01 を使用します。部屋の最新の安定バージョンを使用してみてください。
同じエラーが発生し、バージョン2.1.x-alphaを使用しましたが、2.2.3に更新した後、新しいバージョンでエラーが正しく報告され、エンティティの1つに主キーがないことがわかりました
import androidx.room.Dao;
を追加してから再インポートすると、うまくいきました。