【发布时间】:2021-05-17 15:19:23
【问题描述】:
我正在努力为我用 Kotlin 编写的项目增加空间,但我总是遇到这个错误。
用户数据类
@Entity
data class Users(
@PrimaryKey
val id: String? = "",
@ColumnInfo(name = "userFullName")
val name: String?,
@ColumnInfo(name = "userEmail")
val email: String?,
@ColumnInfo(name = "userPassword")
val password: String?,
@ColumnInfo(name = "userBDay", defaultValue = "")
val birthday: String?
)
用户道
@Dao interface UserDao {
@Insert
fun insertUser(user: Users)
@Delete
suspend fun deleteUser(user: Users)
@Query("SELECT * FROM users")
fun getAllUsers(): List<Users>
}
用户数据库
@Database(entities = [Users::class], version = 1)
abstract class UserDatabase : RoomDatabase() {
abstract fun userDao(): UserDao
companion object {
@Volatile
private var instance: UserDatabase? = null
fun getUserDatabase(context: Context): UserDatabase {
return instance ?: synchronized(this) {
val instance = Room.databaseBuilder(
context.applicationContext,
UserDatabase::class.java,
"usersDB"
).build()
this.instance = instance
instance
}
}
}
}
然后当我构建它时,我得到了这个错误:
FAILURE:构建失败并出现异常。
出了什么问题:
2021-02-14T16:35:38.826+0300 [错误] [org.gradle.internal.buildevents.BuildExceptionReporter]
任务 ':app:kaptDebugKotlin' 执行失败。
执行 org.jetbrains.kotlin.gradle.internal.KaptExecution 时发生故障 java.lang.reflect.InvocationTargetException(没有错误信息)
我在从 github 编写和下载的每个代码中都遇到了这个错误。
我在这些链接中尝试了解决方案:
Repeated Build fails "To use Coroutine features, you must add `ktx`......."
How to get rid of Incremental annotation processing requested warning?
A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptExecution
A failure occurred while executing com.android.build.gradle.internal.tasks
我还以为是AS引起的,我下载了其他版本的AS,也出现了同样的情况
【问题讨论】:
-
您能否发布带有数据库的模块的 gradle 配置,以及完整的错误(如果有)?
标签: android kotlin android-room kapt