【Room】エラー虎の巻 - Ki-Kobayashi/Android-Wiki GitHub Wiki
🛑 Kotlin1.9でRoomを使用すると、Daoでエラーが出る
TaskDao.java:19: �G���[: Type of the parameter must be a class annotated with @Entity or a collection/array of it.
kotlin.coroutines.Continuation<? super kotlin.Unit> $completion);
^
TaskDao.java:17: �G���[: Not sure how to handle insert method's return type.
public abstract java.lang.Object insertTask(@org.jetbrains.annotations.NotNull
TaskDao.java:27: �G���[: Not sure how to handle delete method's return type. Currently the supported return types are void, int or Int.
public abstract java.lang.Object deleteTask(@org.jetbrains.annotations.NotNull
TaskDao.java:29: �G���[: Type of the parameter must be a class annotated with @Entity or a collection/array of it.
kotlin.coroutines.Continuation<? super kotlin.Unit> $completion);
TaskDao.java:35: �G���[: Type of the parameter must be a class annotated with @Entity or a collection/array of it.
kotlin.coroutines.Continuation<? super kotlin.Unit> $completion);
TaskDao.java:33: �G���[: Not sure how to handle update method's return type. Currently the supported return types are void, int or Int.
public abstract java.lang.Object updateTask(@org.jetbrains.annotations.NotNull
💡原因💡
下記の組み合わせ内容で発生するよう。。。
- kotlinのバージョン
- Roomのバージョン
- kapt / ksp
🌟参考:https://issuetracker.google.com/issues/236612358
💡解決方法💡
※kotlin1.9の場合(proj / build.gradle > "org.jetbrains.kotlin.android"箇所で確認)
- kaptからkspに変更する
- kspのバージョンを1.9.0などバージョンに合わせる
- Roomのバージョン:1.6.0~
- Hiltのバージョン:2.48~(ksp利用のため一応あげとく)
🟩 proj / build.gradle
plugins {
id("com.android.application") version "8.2.0" apply false
id("org.jetbrains.kotlin.android") version "1.9.0" apply false 💡※kotlin1.9
id("com.google.dagger.hilt.android") version "2.48" apply false
id("com.google.devtools.ksp") version "1.9.0-1.0.12"
}
🟩 app / build.gradle
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
💡id("com.google.devtools.ksp")
id("com.google.dagger.hilt.android")
}
android {...}
dependencies {
implementation("androidx.core:core-ktx:1.10.1")
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.6.1")
implementation("androidx.activity:activity-compose:1.7.0")
implementation(platform("androidx.compose:compose-bom:2023.08.00"))
implementation("androidx.compose.ui:ui")
implementation("androidx.compose.ui:ui-graphics")
implementation("androidx.compose.ui:ui-tooling-preview")
implementation("androidx.compose.material3:material3")
testImplementation("junit:junit:4.13.2")
androidTestImplementation("androidx.test.ext:junit:1.1.5")
androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
androidTestImplementation(platform("androidx.compose:compose-bom:2023.08.00"))
androidTestImplementation("androidx.compose.ui:ui-test-junit4")
debugImplementation("androidx.compose.ui:ui-tooling")
debugImplementation("androidx.compose.ui:ui-test-manifest")
💡val room_version = "2.6.0"
implementation("androidx.room:room-runtime:$room_version")
annotationProcessor("androidx.room:room-compiler:$room_version")
💡ksp("androidx.room:room-compiler:$room_version")
implementation("androidx.room:room-ktx:$room_version")
💡val hilt_version = "2.48"
implementation("com.google.dagger:hilt-android:$hilt_version")
💡ksp("com.google.dagger:hilt-android-compiler:$hilt_version")
}