Я столкнулся с следующей ошибкой времени компиляции при использовании рукоятки и KSP для инъекции зависимости: < /p>
Cannot find symbol
import xyz.linglitel.lmusic.viewmodel.PlayerViewModel_HiltModules_BindsModule_Binds_LazyMapKey;
Symbol: class PlayerViewModel_HiltModules_BindsModule_Binds_LazyMapKey
Location: package xyz.linglitel.lmusic.viewmodel
< /code>
Ошибка предполагает, что класс playerviewmodel_hiltmodules_bindsmodule_binds_lazymapkey не может быть найден. Я проверил свой код и подтвердил, что аннотации и конфигурации впрыска в зависимости в файлах PlayerviewModel и AppModule верны, но проблема сохраняется. H4> PlayerwiewModel Class: < /H4>
@HiltViewModel
class PlayerViewModel @Inject constructor(
private val repository: MusicRepository,
sessionToken: SessionToken,
@ApplicationContext private val context: Context
) : ViewModel() {...some code}
< /code>
класс AppModule: < /h4>
@Module
@InstallIn(SingletonComponent::class)
object AppModule {
@Provides
fun provideSessionToken(@ApplicationContext context: Context): SessionToken {
return SessionToken(context, ComponentName(context, MediaPlaybackService::class.java))
}
}
< /code>
musicrepository: < /h4>
package xyz.linglitel.lmusic.repository
import android.content.Context
import dagger.hilt.android.qualifiers.ApplicationContext
import javax.inject.Inject
class MusicRepository @Inject constructor(
@ApplicationContext private val context: Context
) {
}
< /code>
MediaPlaybackservice: < /h4>
import androidx.media3.session.MediaLibraryService
import androidx.media3.session.MediaSession
class MediaPlaybackService : MediaLibraryService() {
override fun onGetSession(controllerInfo: MediaSession.ControllerInfo): MediaLibrarySession? {
TODO("Not yet implemented")
}
}
< /code>
baseapplication: < /h4>
@HiltAndroidApp
class BaseApplication: Application() {
}
< /code>
build.gradle.kts Проект: < /h4>
plugins {
alias(libs.plugins.android.application) apply false
alias(libs.plugins.kotlin.android) apply false
id("com.google.devtools.ksp") version "2.1.0-1.0.29" apply false
id ("com.google.dagger.hilt.android") version "2.55" apply false
alias(libs.plugins.compose.compiler) apply false
}
< /code>
build.gradle.kts приложение: < /h4>
import org.gradle.kotlin.dsl.testImplementation
plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
id("com.google.devtools.ksp")
id("com.google.dagger.hilt.android")
alias(libs.plugins.compose.compiler)
}
android {
namespace = "xyz.linglitel.lmusic"
compileSdk = 35
buildFeatures {
compose = true
}
defaultConfig {
applicationId = "xyz.linglitel.lmusic"
minSdk = 31
targetSdk = 35
versionCode = 1
versionName = "1.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
kotlinOptions {
jvmTarget = "11"
}
ksp{
arg("room.schemaLocation", "$projectDir/schemas")
}
}
dependencies {
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.appcompat)
implementation(libs.material)
implementation(libs.androidx.activity)
implementation(libs.androidx.constraintlayout)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
val room_version = "2.6.1"
implementation(libs.androidx.room.runtime)
ksp("androidx.room:room-compiler:$room_version")
implementation(libs.hilt.android)
ksp(libs.hilt.android.compiler)
implementation(libs.androidx.media3.ui)
implementation(libs.androidx.media3.exoplayer)
annotationProcessor("androidx.room:room-compiler:$room_version")
implementation(libs.androidx.room.ktx)
implementation(libs.androidx.media3.session)
implementation(libs.androidx.media3.extractor)
implementation(libs.androidx.media3.cast)
implementation(libs.androidx.media3.exoplayer.workmanager)
implementation(libs.androidx.media3.transformer)
implementation (libs.kotlinx.coroutines.android)
implementation(libs.androidx.room.guava)
implementation(libs.androidx.hilt.navigation.compose)
testImplementation(libs.androidx.room.testing)
implementation(libs.androidx.room.paging)
val composeBom = platform("androidx.compose:compose-bom:2025.01.01")
implementation(composeBom)
androidTestImplementation(composeBom)
implementation(libs.androidx.material3)
implementation(libs.androidx.material.icons.core)
implementation(libs.androidx.ui)
implementation(libs.androidx.ui.tooling.preview)
implementation(libs.kotlinx.coroutines.android)
debugImplementation(libs.androidx.ui.tooling)
implementation(libs.androidx.adaptive)
implementation(libs.androidx.activity.compose)
implementation (libs.androidx.hilt.navigation.compose)
implementation(libs.androidx.runtime.livedata)
}
< /code>
toml: < /h4>
[versions]
activityCompose = "1.10.0"
agp = "8.7.3"
hiltAndroid = "2.54"
hiltAndroidCompiler = "2.51.1"
hiltCompiler = "1.2.0"
hiltNavigationCompose = "1.2.0"
kotlin = "2.1.0"
coreKtx = "1.15.0"
junit = "4.13.2"
junitVersion = "1.2.1"
espressoCore = "3.6.1"
appcompat = "1.7.0"
kotlinxCoroutinesAndroid = "1.10.1"
material = "1.12.0"
media3Extractor = "x.y.z"
media3Ui = "1.5.1"
roomRuntime = "2.6.1"
activity = "1.10.0"
constraintlayout = "2.2.0"
[libraries]
androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "activityCompose" }
androidx-adaptive = { module = "androidx.compose.material3.adaptive:adaptive" }
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
androidx-hilt-navigation-compose = { module = "androidx.hilt:hilt-navigation-compose", version.ref = "hiltNavigationCompose" }
androidx-material-icons-core = { module = "androidx.compose.material:material-icons-core" }
androidx-material3 = { module = "androidx.compose.material3:material3" }
androidx-media3-cast = { module = "androidx.media3:media3-cast" }
androidx-media3-exoplayer = { module = "androidx.media3:media3-exoplayer", version.ref = "media3Ui" }
androidx-media3-exoplayer-workmanager = { module = "androidx.media3:media3-exoplayer-workmanager" }
androidx-media3-extractor = { module = "androidx.media3:media3-extractor", version.ref = "media3Extractor" }
androidx-media3-session = { module = "androidx.media3:media3-session" }
androidx-media3-transformer = { module = "androidx.media3:media3-transformer" }
androidx-media3-ui = { module = "androidx.media3:media3-ui", version.ref = "media3Ui" }
androidx-room-guava = { module = "androidx.room:room-guava", version.ref = "roomRuntime" }
androidx-room-ktx = { module = "androidx.room:room-ktx", version.ref = "roomRuntime" }
androidx-room-paging = { module = "androidx.room:room-paging", version.ref = "roomRuntime" }
androidx-room-runtime = { module = "androidx.room:room-runtime", version.ref = "roomRuntime" }
androidx-room-testing = { module = "androidx.room:room-testing", version.ref = "roomRuntime" }
androidx-runtime-livedata = { module = "androidx.compose.runtime:runtime-livedata" }
androidx-ui = { module = "androidx.compose.ui:ui" }
androidx-ui-tooling = { module = "androidx.compose.ui:ui-tooling" }
androidx-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview" }
hilt-android-compiler = { module = "com.google.dagger:hilt-android-compiler", version.ref = "hiltAndroidCompiler" }
hilt-android = { module = "com.google.dagger:hilt-android", version.ref = "hiltAndroid" }
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-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
kotlinx-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "kotlinxCoroutinesAndroid" }
material = { group = "com.google.android.material", name = "material", version.ref = "material" }
androidx-activity = { group = "androidx.activity", name = "activity", version.ref = "activity" }
androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" }
[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
< /code>
очистил и перестроил проект, но проблема сохраняется.
Я искал этот вопрос в Интернете, но сейчас есть.
Это весь мой код, я удалил неиспользованный код
Мне жаль, что я не знаю, какой код полезен или не используется, извините < /p>
Подробнее здесь: https://stackoverflow.com/questions/794 ... iltmodules
Внедрение зависимости от сцепления: не может найти символ 'playerwiewmodel_hiltmodules_bindsmodule_binds_lazymapkey ‘ ⇐ Android
Форум для тех, кто программирует под Android
1739184437
Anonymous
Я столкнулся с следующей ошибкой времени компиляции при использовании рукоятки и KSP для инъекции зависимости: < /p>
Cannot find symbol
import xyz.linglitel.lmusic.viewmodel.PlayerViewModel_HiltModules_BindsModule_Binds_LazyMapKey;
Symbol: class PlayerViewModel_HiltModules_BindsModule_Binds_LazyMapKey
Location: package xyz.linglitel.lmusic.viewmodel
< /code>
Ошибка предполагает, что класс playerviewmodel_hiltmodules_bindsmodule_binds_lazymapkey не может быть найден. Я проверил свой код и подтвердил, что аннотации и конфигурации впрыска в зависимости в файлах PlayerviewModel и AppModule верны, но проблема сохраняется. H4> PlayerwiewModel Class: < /H4>
@HiltViewModel
class PlayerViewModel @Inject constructor(
private val repository: MusicRepository,
sessionToken: SessionToken,
@ApplicationContext private val context: Context
) : ViewModel() {...some code}
< /code>
класс AppModule: < /h4>
@Module
@InstallIn(SingletonComponent::class)
object AppModule {
@Provides
fun provideSessionToken(@ApplicationContext context: Context): SessionToken {
return SessionToken(context, ComponentName(context, MediaPlaybackService::class.java))
}
}
< /code>
musicrepository: < /h4>
package xyz.linglitel.lmusic.repository
import android.content.Context
import dagger.hilt.android.qualifiers.ApplicationContext
import javax.inject.Inject
class MusicRepository @Inject constructor(
@ApplicationContext private val context: Context
) {
}
< /code>
MediaPlaybackservice: < /h4>
import androidx.media3.session.MediaLibraryService
import androidx.media3.session.MediaSession
class MediaPlaybackService : MediaLibraryService() {
override fun onGetSession(controllerInfo: MediaSession.ControllerInfo): MediaLibrarySession? {
TODO("Not yet implemented")
}
}
< /code>
baseapplication: < /h4>
@HiltAndroidApp
class BaseApplication: Application() {
}
< /code>
build.gradle.kts Проект: < /h4>
plugins {
alias(libs.plugins.android.application) apply false
alias(libs.plugins.kotlin.android) apply false
id("com.google.devtools.ksp") version "2.1.0-1.0.29" apply false
id ("com.google.dagger.hilt.android") version "2.55" apply false
alias(libs.plugins.compose.compiler) apply false
}
< /code>
build.gradle.kts приложение: < /h4>
import org.gradle.kotlin.dsl.testImplementation
plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
id("com.google.devtools.ksp")
id("com.google.dagger.hilt.android")
alias(libs.plugins.compose.compiler)
}
android {
namespace = "xyz.linglitel.lmusic"
compileSdk = 35
buildFeatures {
compose = true
}
defaultConfig {
applicationId = "xyz.linglitel.lmusic"
minSdk = 31
targetSdk = 35
versionCode = 1
versionName = "1.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
kotlinOptions {
jvmTarget = "11"
}
ksp{
arg("room.schemaLocation", "$projectDir/schemas")
}
}
dependencies {
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.appcompat)
implementation(libs.material)
implementation(libs.androidx.activity)
implementation(libs.androidx.constraintlayout)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
val room_version = "2.6.1"
implementation(libs.androidx.room.runtime)
ksp("androidx.room:room-compiler:$room_version")
implementation(libs.hilt.android)
ksp(libs.hilt.android.compiler)
implementation(libs.androidx.media3.ui)
implementation(libs.androidx.media3.exoplayer)
annotationProcessor("androidx.room:room-compiler:$room_version")
implementation(libs.androidx.room.ktx)
implementation(libs.androidx.media3.session)
implementation(libs.androidx.media3.extractor)
implementation(libs.androidx.media3.cast)
implementation(libs.androidx.media3.exoplayer.workmanager)
implementation(libs.androidx.media3.transformer)
implementation (libs.kotlinx.coroutines.android)
implementation(libs.androidx.room.guava)
implementation(libs.androidx.hilt.navigation.compose)
testImplementation(libs.androidx.room.testing)
implementation(libs.androidx.room.paging)
val composeBom = platform("androidx.compose:compose-bom:2025.01.01")
implementation(composeBom)
androidTestImplementation(composeBom)
implementation(libs.androidx.material3)
implementation(libs.androidx.material.icons.core)
implementation(libs.androidx.ui)
implementation(libs.androidx.ui.tooling.preview)
implementation(libs.kotlinx.coroutines.android)
debugImplementation(libs.androidx.ui.tooling)
implementation(libs.androidx.adaptive)
implementation(libs.androidx.activity.compose)
implementation (libs.androidx.hilt.navigation.compose)
implementation(libs.androidx.runtime.livedata)
}
< /code>
toml: < /h4>
[versions]
activityCompose = "1.10.0"
agp = "8.7.3"
hiltAndroid = "2.54"
hiltAndroidCompiler = "2.51.1"
hiltCompiler = "1.2.0"
hiltNavigationCompose = "1.2.0"
kotlin = "2.1.0"
coreKtx = "1.15.0"
junit = "4.13.2"
junitVersion = "1.2.1"
espressoCore = "3.6.1"
appcompat = "1.7.0"
kotlinxCoroutinesAndroid = "1.10.1"
material = "1.12.0"
media3Extractor = "x.y.z"
media3Ui = "1.5.1"
roomRuntime = "2.6.1"
activity = "1.10.0"
constraintlayout = "2.2.0"
[libraries]
androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "activityCompose" }
androidx-adaptive = { module = "androidx.compose.material3.adaptive:adaptive" }
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
androidx-hilt-navigation-compose = { module = "androidx.hilt:hilt-navigation-compose", version.ref = "hiltNavigationCompose" }
androidx-material-icons-core = { module = "androidx.compose.material:material-icons-core" }
androidx-material3 = { module = "androidx.compose.material3:material3" }
androidx-media3-cast = { module = "androidx.media3:media3-cast" }
androidx-media3-exoplayer = { module = "androidx.media3:media3-exoplayer", version.ref = "media3Ui" }
androidx-media3-exoplayer-workmanager = { module = "androidx.media3:media3-exoplayer-workmanager" }
androidx-media3-extractor = { module = "androidx.media3:media3-extractor", version.ref = "media3Extractor" }
androidx-media3-session = { module = "androidx.media3:media3-session" }
androidx-media3-transformer = { module = "androidx.media3:media3-transformer" }
androidx-media3-ui = { module = "androidx.media3:media3-ui", version.ref = "media3Ui" }
androidx-room-guava = { module = "androidx.room:room-guava", version.ref = "roomRuntime" }
androidx-room-ktx = { module = "androidx.room:room-ktx", version.ref = "roomRuntime" }
androidx-room-paging = { module = "androidx.room:room-paging", version.ref = "roomRuntime" }
androidx-room-runtime = { module = "androidx.room:room-runtime", version.ref = "roomRuntime" }
androidx-room-testing = { module = "androidx.room:room-testing", version.ref = "roomRuntime" }
androidx-runtime-livedata = { module = "androidx.compose.runtime:runtime-livedata" }
androidx-ui = { module = "androidx.compose.ui:ui" }
androidx-ui-tooling = { module = "androidx.compose.ui:ui-tooling" }
androidx-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview" }
hilt-android-compiler = { module = "com.google.dagger:hilt-android-compiler", version.ref = "hiltAndroidCompiler" }
hilt-android = { module = "com.google.dagger:hilt-android", version.ref = "hiltAndroid" }
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-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
kotlinx-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "kotlinxCoroutinesAndroid" }
material = { group = "com.google.android.material", name = "material", version.ref = "material" }
androidx-activity = { group = "androidx.activity", name = "activity", version.ref = "activity" }
androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" }
[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
< /code>
очистил и перестроил проект, но проблема сохраняется.
Я искал этот вопрос в Интернете, но сейчас есть.
Это весь мой код, я удалил неиспользованный код
Мне жаль, что я не знаю, какой код полезен или не используется, извините < /p>
Подробнее здесь: [url]https://stackoverflow.com/questions/79425267/hilt-dependency-injection-issue-cannot-find-symbol-playerviewmodel-hiltmodules[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия