You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hilt依赖注入编译错误:找不到PlayerViewModel_HiltModules相关类

解决Hilt+KSP编译错误:找不到PlayerViewModel_HiltModules_BindsModule_Binds_LazyMapKey

错误信息

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

解决方案

1. 统一Hilt版本,修复版本不兼容

项目中Hilt插件、依赖、编译器版本不一致会导致KSP生成代码不匹配:

  • 修改libs.toml的[versions]区块,统一Hilt版本:
    [versions]
    # ... 其他版本
    hiltAndroid = "2.55"
    hiltAndroidCompiler = "2.55"
    
  • 确保根目录build.gradle.kts中的Hilt插件版本(2.55)与依赖版本一致。

2. 移除重复依赖与冲突配置

模块build.gradle.kts存在重复依赖和混合注解处理器的问题:

  • 移除Room的annotationProcessor配置(Kotlin项目仅需KSP):
    // 删除此行
    annotationProcessor("androidx.room:room-compiler:$room_version")
    
  • 删除重复的kotlinx-coroutines-android依赖(保留一次即可)。

3. 彻底清理缓存并重建项目

执行以下步骤清除残留的生成代码与缓存:

  • 点击Android Studio菜单 Build > Clean Project
  • 删除项目根目录的.gradle文件夹
  • 删除模块目录的build文件夹
  • 点击 Build > Rebuild Project

4. 检查MediaPlaybackService的Manifest注册

确保服务在AndroidManifest.xml中正确注册,否则SessionToken的创建会间接影响Hilt代码生成:

<service
    android:name=".MediaPlaybackService"
    android:exported="true">
    <intent-filter>
        <action android:name="androidx.media3.session.MediaLibraryService"/>
    </intent-filter>
</service>

5. 验证KSP配置正确性

确认模块build.gradle.kts中:

  • 已正确应用KSP插件
  • Hilt编译器通过ksp(libs.hilt.android.compiler)引入,而非annotationProcessor

内容的提问来源于stack exchange,提问作者lin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 10:39:50