Я создаю приложение в Android Studio и в настоящее время пытаюсь реализовать Room.
Когда я пытаюсь пересобрать/запустить проект, возникает следующая ошибка:
Execution failed for task ':app:kspDebugKotlin'.
> A failure occurred while executing com.google.devtools.ksp.gradle.KspAAWorkerAction
> KSP failed with exit code: PROCESSING_ERROR
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.
BUILD FAILED in 9s
48 actionable tasks: 48 executed
В нем не указано, почему возникла ошибка, и я не могу найти проблему. Первоначальная проблема заключалась в том, что AppDatabase_Impl не существует. Правильно ли настроен процессор аннотаций комнаты?, что побудило меня установить/настроить ksp, а затем выдать упомянутую выше ошибку.
Вот мой файл build.gradle.kts:
plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.compose.compiler)
alias(libs.plugins.org.jetbrains.kotlin.android)
alias(libs.plugins.ksp)
}
android {
namespace = "com.apps.irlleveler"
compileSdk = 35
defaultConfig {
applicationId = "com.apps.irlleveler"
minSdk = 24
targetSdk = 35
versionCode = 1
versionName = "1.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
useSupportLibrary = true
}
}
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = "17"
}
buildFeatures {
compose = true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.6.0"
}
packaging {
resources {
excludes += "/META-INF/{AL2.0,LGPL2.1}"
}
}
}
dependencies {
implementation(libs.core.ktx)
val room_version = "2.7.1"
implementation("androidx.room:room-runtime:$room_version")
ksp("androidx.room:room-compiler:$room_version")
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.lifecycle.runtime.ktx)
implementation(libs.androidx.activity.compose)
implementation(platform(libs.androidx.compose.bom))
implementation(libs.compose.navigation)
implementation(libs.androidx.ui)
implementation(libs.androidx.ui.graphics)
implementation(libs.androidx.ui.tooling.preview)
implementation(libs.androidx.material3)
implementation (libs.androidx.lifecycle.viewmodel.compose)
implementation(libs.play.services.games.v2)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
androidTestImplementation(platform(libs.androidx.compose.bom))
androidTestImplementation(libs.androidx.ui.test.junit4)
debugImplementation(libs.androidx.ui.tooling)
debugImplementation(libs.androidx.ui.test.manifest)
}
И мой файл libs.versions.toml:
[versions]
agp = "8.7.1"
kotlin = "2.1.21"
ksp = "2.1.21-2.0.1"
coreKtx = "1.10.1"
junit = "4.13.2"
junitVersion = "1.1.5"
espressoCore = "3.5.1"
lifecycleRuntimeKtx = "2.6.1"
lifecycleViewModelCompose = "2.8.7"
activityCompose = "1.8.0"
composeBom = "2024.04.01"
composeNavigation = "2.8.9"
playServicesGamesV2 = "20.1.2"
accompanist = "0.34.0"
coreKtxVersion = "1.16.0"
[libraries]
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
junit = { group = "junit", name = "junit", version.ref = "junit" }
androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" }
androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" }
androidx-lifecycle-runtime-ktx = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycleRuntimeKtx" }
androidx-lifecycle-viewmodel-compose = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "lifecycleViewModelCompose" }
androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activityCompose" }
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "composeBom" }
androidx-ui = { group = "androidx.compose.ui", name = "ui" }
androidx-ui-graphics = { group = "androidx.compose.ui", name = "ui-graphics" }
androidx-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" }
androidx-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
androidx-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" }
androidx-ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4" }
androidx-material3 = { group = "androidx.compose.material3", name = "material3" }
compose-navigation = { module = "androidx.navigation:navigation-compose", version.ref = "composeNavigation" }
play-services-games-v2 = { group = "com.google.android.gms", name = "play-services-games-v2", version.ref = "playServicesGamesV2" }
accompanist-navigation-animation = { group = "com.google.accompanist", name = "accompanist-navigation-animation", version.ref = "accompanist" }
core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtxVersion" }
[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
org-jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
У меня есть 3 класса с похожей структурой, поэтому я покажу только один (все, что связано с базой данных).
Пользовательский класс:
@Entity
data class User(
@PrimaryKey val id: Int = 0,
@ColumnInfo var db_username: String = "",
@ColumnInfo var db_level: Int = 1,
@ColumnInfo var db_coins: Int = 0,
@ColumnInfo var db_xp: Int = 0,
@ColumnInfo var db_stats: MutableList = mutableListOf()
) {
// Convert to UI
fun updateUi() {
...
}
fun updateDb() {
...
}
init {
updateUi()
}
fun updateLevel () {
...
}
}
Пользователь:
@Dao
interface UserDao {
@Insert
fun insertUser(user: User)
@Update
fun updateUser(user: User)
@Delete
fun deleteUser(id: Int)
}
База данных приложений:
@Database(entities = [User::class, Task::class, Stat::class], version = 1)
abstract class AppDatabase : RoomDatabase() {
abstract fun getUserDao(): UserDao
abstract fun getStatDao(): StatDao
abstract fun getTaskDao(): TaskDao
companion object {
const val NAME = "App_DB"
}
}
Основное приложение:
class MainApplication: Application() {
companion object {
lateinit var appDatabase: AppDatabase
}
override fun onCreate() {
super.onCreate()
appDatabase = Room.databaseBuilder(
applicationContext,
AppDatabase::class.java,
AppDatabase.NAME
).build()
}
}
Подробнее здесь: https://stackoverflow.com/questions/796 ... ng-up-room
Ошибка KSP с кодом выхода: PROCESSING_ERROR при настройке комнаты. ⇐ Android
Форум для тех, кто программирует под Android
-
Anonymous
1764202406
Anonymous
Я создаю приложение в Android Studio и в настоящее время пытаюсь реализовать Room.
Когда я пытаюсь пересобрать/запустить проект, возникает следующая ошибка:
Execution failed for task ':app:kspDebugKotlin'.
> A failure occurred while executing com.google.devtools.ksp.gradle.KspAAWorkerAction
> KSP failed with exit code: PROCESSING_ERROR
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.
BUILD FAILED in 9s
48 actionable tasks: 48 executed
В нем не указано, почему возникла ошибка, и я не могу найти проблему. Первоначальная проблема заключалась в том, что AppDatabase_Impl не существует. Правильно ли настроен процессор аннотаций комнаты?, что побудило меня установить/настроить ksp, а затем выдать упомянутую выше ошибку.
Вот мой файл build.gradle.kts:
plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.compose.compiler)
alias(libs.plugins.org.jetbrains.kotlin.android)
alias(libs.plugins.ksp)
}
android {
namespace = "com.apps.irlleveler"
compileSdk = 35
defaultConfig {
applicationId = "com.apps.irlleveler"
minSdk = 24
targetSdk = 35
versionCode = 1
versionName = "1.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
useSupportLibrary = true
}
}
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = "17"
}
buildFeatures {
compose = true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.6.0"
}
packaging {
resources {
excludes += "/META-INF/{AL2.0,LGPL2.1}"
}
}
}
dependencies {
implementation(libs.core.ktx)
val room_version = "2.7.1"
implementation("androidx.room:room-runtime:$room_version")
ksp("androidx.room:room-compiler:$room_version")
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.lifecycle.runtime.ktx)
implementation(libs.androidx.activity.compose)
implementation(platform(libs.androidx.compose.bom))
implementation(libs.compose.navigation)
implementation(libs.androidx.ui)
implementation(libs.androidx.ui.graphics)
implementation(libs.androidx.ui.tooling.preview)
implementation(libs.androidx.material3)
implementation (libs.androidx.lifecycle.viewmodel.compose)
implementation(libs.play.services.games.v2)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
androidTestImplementation(platform(libs.androidx.compose.bom))
androidTestImplementation(libs.androidx.ui.test.junit4)
debugImplementation(libs.androidx.ui.tooling)
debugImplementation(libs.androidx.ui.test.manifest)
}
И мой файл libs.versions.toml:
[versions]
agp = "8.7.1"
kotlin = "2.1.21"
ksp = "2.1.21-2.0.1"
coreKtx = "1.10.1"
junit = "4.13.2"
junitVersion = "1.1.5"
espressoCore = "3.5.1"
lifecycleRuntimeKtx = "2.6.1"
lifecycleViewModelCompose = "2.8.7"
activityCompose = "1.8.0"
composeBom = "2024.04.01"
composeNavigation = "2.8.9"
playServicesGamesV2 = "20.1.2"
accompanist = "0.34.0"
coreKtxVersion = "1.16.0"
[libraries]
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
junit = { group = "junit", name = "junit", version.ref = "junit" }
androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" }
androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" }
androidx-lifecycle-runtime-ktx = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycleRuntimeKtx" }
androidx-lifecycle-viewmodel-compose = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "lifecycleViewModelCompose" }
androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activityCompose" }
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "composeBom" }
androidx-ui = { group = "androidx.compose.ui", name = "ui" }
androidx-ui-graphics = { group = "androidx.compose.ui", name = "ui-graphics" }
androidx-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" }
androidx-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
androidx-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" }
androidx-ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4" }
androidx-material3 = { group = "androidx.compose.material3", name = "material3" }
compose-navigation = { module = "androidx.navigation:navigation-compose", version.ref = "composeNavigation" }
play-services-games-v2 = { group = "com.google.android.gms", name = "play-services-games-v2", version.ref = "playServicesGamesV2" }
accompanist-navigation-animation = { group = "com.google.accompanist", name = "accompanist-navigation-animation", version.ref = "accompanist" }
core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtxVersion" }
[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
org-jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
У меня есть 3 класса с похожей структурой, поэтому я покажу только один (все, что связано с базой данных).
Пользовательский класс:
@Entity
data class User(
@PrimaryKey val id: Int = 0,
@ColumnInfo var db_username: String = "",
@ColumnInfo var db_level: Int = 1,
@ColumnInfo var db_coins: Int = 0,
@ColumnInfo var db_xp: Int = 0,
@ColumnInfo var db_stats: MutableList = mutableListOf()
) {
// Convert to UI
fun updateUi() {
...
}
fun updateDb() {
...
}
init {
updateUi()
}
fun updateLevel () {
...
}
}
Пользователь:
@Dao
interface UserDao {
@Insert
fun insertUser(user: User)
@Update
fun updateUser(user: User)
@Delete
fun deleteUser(id: Int)
}
База данных приложений:
@Database(entities = [User::class, Task::class, Stat::class], version = 1)
abstract class AppDatabase : RoomDatabase() {
abstract fun getUserDao(): UserDao
abstract fun getStatDao(): StatDao
abstract fun getTaskDao(): TaskDao
companion object {
const val NAME = "App_DB"
}
}
Основное приложение:
class MainApplication: Application() {
companion object {
lateinit var appDatabase: AppDatabase
}
override fun onCreate() {
super.onCreate()
appDatabase = Room.databaseBuilder(
applicationContext,
AppDatabase::class.java,
AppDatabase.NAME
).build()
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79658004/ksp-failed-with-exit-code-processing-error-while-setting-up-room[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия