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

Compose Multiplatform资源无法在Android Studio资源管理器UI显示的问题

解决Compose Multiplatform资源在Android Studio资源管理器不显示的问题
  • 确认资源目录结构与命名规范
    确保commonMain/composeResources和androidMain/res内的资源目录完全符合Android规范:

    • 图片需放在drawable/drawable-xxxhdpi等对应密度目录,字符串资源放在values/strings.xml中
    • 资源文件名必须仅包含小写字母、数字和下划线,禁止使用空格、大写字母或特殊字符(例如ic_home.png合法,IC Home.png不合法)
  • 补充Common模块的资源配置
    若你的配置仅在Android模块的build.gradle中完成,还需在Common模块的build.gradle.kts(或.gradle)里添加Compose资源的专用配置:

    composeResources {
        srcDir("src/commonMain/composeResources")
    }
    

    这一步是让KMP插件正确识别公共资源目录,确保Android Studio能索引到这些资源。

  • 清理Android Studio缓存
    IDE缓存异常是资源不显示的高频原因,执行以下操作:

    1. 点击顶部菜单 File -> Invalidate Caches...
    2. 勾选Invalidate and Restart,等待IDE重启完成
  • 调整Android模块的SourceSets配置
    尝试将resources.srcDirs改为srcDir来追加目录,避免覆盖默认的资源路径配置:

    android {
        namespace = "com.feeltheboard.forgo"
        compileSdk = libs.versions.android.compileSdk.get().toInt()
    
        sourceSets["main"].apply {
            manifest.srcFile("src/androidMain/AndroidManifest.xml")
            res.srcDirs("src/androidMain/res")
            // 使用srcDir追加目录,而非srcDirs替换原有列表
            resources.srcDir("src/commonMain/composeResources")
        }
    }
    

    srcDir会将指定目录添加到现有资源目录列表中,而srcDirs会直接替换默认列表,可能导致原有资源路径丢失。

  • 检查IDE资源显示过滤设置
    切换到Android Studio的Android视图模式(而非Project模式),然后点击资源管理器顶部的齿轮图标,取消勾选Hide Empty Middle Packages和Hide Generated Files,确保没有过滤掉资源文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 19:52:39