web-dev-qa-db-ja.com

注:[Ljava.lang.Object; @ 79d6c4dfのKotlinメタデータの取得を読み取れませんでした

このエラーが発生し続けます。私はプロジェクトに取り組んでおり、開発の途中で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
}
21
dawn

これをbuild.gradle(モジュール)に追加して解決しました

    androidTestImplementation "androidx.Arch.core:coretesting:$rootProject.archLifecycleVersion"

私のbuild.gradle(Project)で

ext {
    roomVersion = '2.1.0-alpha06'
    archLifecycleVersion = '2.0.0'
}
0
terminal

依存ブロックのgradle_moduleファイルのroom_versionを変更し、必要な他のルーム関連ライブラリを変更してください。例として https://developer.Android.com/jetpack/androidx/releases/room#2.2.0-alpha01 を使用します。部屋の最新の安定バージョンを使用してみてください。

0
Leontsev Anton

同じエラーが発生し、バージョン2.1.x-alphaを使用しましたが、2.2.3に更新した後、新しいバージョンでエラーが正しく報告され、エンティティの1つに主キーがないことがわかりました

0
Islam Assem

import androidx.room.Dao;を追加してから再インポートすると、うまくいきました。

0
Robko