アプリでAndroid Room Persistenceライブラリ(v.1.0.0-alpha1)を使用しています。正常に動作していますが、Androidスタジオでモデルクラス(Kotlin Dataクラス)を開くと、@ EntityのようなRoomデータベースに使用されるすべてのアノテーションの未解決の参照が表示されます、@ ColumnInfoなど。Archライブラリのバージョンを1.0.0-alpha5に変更しようとしましたが、結果は同じでした。
Lint検査では、インポートされたすべての注釈に対して非推奨のシンボルインポートを削除すると表示されます。ASは以前はこのエラーを表示していませんでした。
この問題を解決するにはどうすればよいですか
編集以下はbuild.gradleに追加したインポートです
compile "Android.Arch.persistence.room:runtime:1.0.0-alpha5"
compile "Android.Arch.persistence.room:rxjava2:1.0.0-alpha5"
annotationProcessor "Android.Arch.persistence.room:compiler:1.0.0-alpha5"
kapt "Android.Arch.persistence.room:compiler:1.0.0-alpha5"
ここに例があります。
https://github.com/jsperk/PocRoom
追加する必要があることを忘れないでください:
Gradle(プロジェクト)-> maven
Gradle(モジュールアプリ)の依存関係->
implementation "Android.Arch.persistence.room:runtime:1.0.0"
annotationProcessor "Android.Arch.persistence.room:compiler:1.0.0"
testImplementation "Android.Arch.persistence.room:testing:1.0.0"
implementation "Android.Arch.persistence.room:rxjava2:1.0.0"
私のプロジェクトでは、私が使用している原因としてこの質問があります
Android.Arch.lifecycle:livedata:1.1.1
バージョン1.1.1
または1.0.0
の部屋を使用しても、Android.Arch.persistence.room.Entity
を見つけることができません。
LiveDataの実装を削除すると、問題が解決することがわかるまで、長い間検索してきました。次に、これら2つのライブラリのバージョンが競合していることに気付きました。最後に、livedataとroomに同じバージョンの1.1.0を使用し(livedataには1.0.0のバージョンがないため)、それを解決しました。
def Arch_version = "1.1.0"
implementation "Android.Arch.persistence.room:runtime:$Arch_version"
annotationProcessor "Android.Arch.persistence.room:compiler:$Arch_version"
implementation "Android.Arch.persistence.room:rxjava2:$Arch_version"
implementation "Android.Arch.persistence.room:common:$Arch_version"
implementation "Android.Arch.lifecycle:livedata:$Arch_version"
implementation "Android.Arch.lifecycle:extensions:$Arch_version"