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

升级Android构建工具至4.7.3后测试中Raw资源无法解析

解决AGP 4.7.3下Android测试资源无法解析的问题

问题原因

AGP 4.x版本调整了测试资源的R类生成逻辑,不再自动在主应用包名后追加.test后缀,测试资源对应的R类直接生成在主包名下,导致旧的com.santaev.app.test.R导入路径失效;同时缓存或配置异常也可能导致资源未正确生成。

解决步骤

  • 替换R类导入语句:将androidTest代码中所有import com.santaev.app.test.R替换为import com.santaev.app.R。此时导入的R类是测试源集专属的,不会和主源集的R类冲突。
  • 验证测试源集配置:检查Module级build.gradle的sourceSets配置,确保androidTest的资源路径正确:
    android {
        sourceSets {
            androidTest {
                res.srcDirs = ['src/androidTest/res']
            }
        }
    }
    
  • 清理缓存并重建项目:执行以下Gradle命令彻底清理缓存后重建测试包:
    ./gradlew clean assembleDebugAndroidTest
    
    或在Android Studio中依次点击Build -> Clean Project、Build -> Rebuild Project。
  • 禁用测试构建的资源压缩:若测试构建类型开启了资源压缩或混淆,会导致测试资源被移除,需在build.gradle中禁用:
    android {
        buildTypes {
            debug {
                shrinkResources false
                minifyEnabled false
            }
            androidTest {
                shrinkResources false
                minifyEnabled false
            }
        }
    }
    
  • 检查资源文件名规范:确保src/androidTest/res/raw下的资源文件名符合Android要求(仅允许小写字母、下划线、数字,不能有大写或特殊字符)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 21:10:17