Android Drawable资源为何生成在debug目录?如何改回main目录?
问题原因及解决办法
可能的原因
- 当前Android Studio的构建变体切换到了
debug:AS会根据选中的构建变体,默认将新资源放到对应变体的res目录下(比如debug变体对应app/src/debug/res),大概率是你不小心切换了变体,或者更新后AS默认选中了debug变体。 - 上次导入资源时手动选了
debug/res目录:AS会记住你上次选择的资源目标路径,之后导入会自动沿用这个设置。
改回原设置的方法
- 切换构建变体到默认的主变体:
打开AS右侧边栏的Build Variants面板,把当前模块的变体从debug改成release或者main(取决于你的项目配置),之后再添加资源就会默认存入app/src/main/res。 - 导入资源时手动指定目标目录:
每次添加图片时,在弹出的导入对话框里,找到Destination Directory选项,手动选择app/src/main/res,如果有Remember for future imports的勾选框,记得勾选,这样后续导入会自动用这个目录。 - 检查build.gradle配置(可选):
打开app/build.gradle.kts(或build.gradle),确认debug闭包里没有额外配置资源目录的优先级,比如有没有类似sourceSets { debug { res.srcDirs = [...] } }的代码,要是有不合理的配置,删掉即可。
内容的提问来源于stack exchange,提问作者Andrew
相关产品推荐
相关产品推荐

