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

复制Android项目依赖遇未解析引用错误及Material包加载问题

问题原因及解决方案

1. 「Unresolved reference. receiver type mismatch」错误

核心原因是Kotlin版本与Compose编译器版本不兼容,或项目插件配置和Jetsnack不一致:

  • Compose对Kotlin版本有严格匹配要求,新建项目默认的Kotlin版本大概率和Jetsnack使用的版本不同,导致kotlin扩展函数的接收者类型不匹配。
  • 插件加载顺序错误:com.android.application(或com.android.library)必须在kotlin-android之前加载,kotlin-kapt(若用到)需在kotlin-android之后。

解决步骤:

  • 打开Jetsnack项目的gradle/libs.versions.toml,复制其中的kotlin、composeCompiler版本号,替换新建项目对应文件中的版本。
  • 调整Module的build.gradle.kts插件顺序为正确格式:
    plugins {
        id("com.android.application")
        id("kotlin-android")
        id("kotlin-kapt") // 按需添加
        id("androidx.compose.compiler")
    }
    

2. 「Unresolved reference: iconsExtended」错误

问题出在新建项目的版本目录(Version Catalog)未定义iconsExtended依赖项:
Jetsnack的gradle/libs.versions.toml中已经配置了androidx.compose.material.iconsExtended的条目,而新建项目默认无此配置,直接复制implementation(libs.androidx.compose.material.iconsExtended)会找不到引用。

解决步骤:

  • 打开Jetsnack的gradle/libs.versions.toml,复制以下内容到新建项目的对应文件:
    [versions]
    composeMaterial = "1.6.0" # 与Jetsnack版本保持一致
    
    [libraries]
    androidx-compose-material-iconsExtended = { group = "androidx.compose.material", name = "material-icons-extended", version.ref = "composeMaterial" }
    
  • 或直接在Module的build.gradle.kts中使用完整依赖坐标替代:
    implementation("androidx.compose.material:material-icons-extended:1.6.0")
    

3. 替换material3为material后无法加载包

原因是版本目录未定义material依赖,加上Gradle缓存残留问题:

  • 新建项目默认仅在libs.versions.toml中配置了material3依赖,无material条目,直接写libs.androidx.compose.material会找不到。
  • Gradle缓存可能残留material3配置,导致依赖解析异常。

解决步骤:

  1. 在新建项目的gradle/libs.versions.toml中添加material配置:
    [versions]
    composeMaterial = "1.6.0" # 与Jetsnack版本保持一致
    
    [libraries]
    androidx-compose-material = { group = "androidx.compose.material", name = "material", version.ref = "composeMaterial" }
    
  2. 清理Gradle缓存:点击Android Studio右上角「Sync Project with Gradle Files」旁的下拉菜单,选择「Invalidate Caches...」,勾选「Invalidate and Restart」。
  3. 确保Module的build.gradle.kts中移除material3依赖,正确添加material:
    // 移除原有material3依赖
    // implementation(libs.androidx.material3)
    // 添加material依赖
    implementation(libs.androidx.compose.material)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 18:15:08