Android多语言图标配置报错:无效的资源目录名称
解决Android资源目录名无效的问题
嘿,我刚帮你定位到问题啦!你遇到的Invalid resource directory name错误,核心原因是资源限定符的顺序写错了。
Android对资源目录的限定符顺序有严格要求,密度限定符(比如hdpi)必须放在语言/区域限定符(比如en-rUS)的后面,而不是反过来。你现在用的mipmap-hdpi-en-rUS顺序完全搞反了,这就导致系统识别不了这个目录。
正确的目录命名方式
把目录改成mipmap-en-rUS-hdpi,这样系统就能正常识别这是「美国英语区域的hdpi密度图标资源」了。
额外注意事项
- 确认拼写没有问题:语言代码
en、区域代码rUS的格式是对的(区域代码前要加r,且大写) - 如果你是要做语言特定的应用图标,其实也可以创建单独的
mipmap-en-rUS目录,然后在里面放不同密度的图标文件(比如ic_launcher.png),系统会自动根据当前设备的密度匹配对应的文件 - 记得同步一下项目(点击Android Studio工具栏的「Sync Project with Gradle Files」按钮),有时候修改目录后需要重新同步才能生效
另外,你提到的教程里的表2“语言和区域”可能只说明了语言限定符的添加方式,但没强调限定符的顺序规则——这也是新手很容易踩的坑,下次遇到资源目录问题,先检查限定符的顺序是否符合Android的规范哦!
内容的提问来源于stack exchange,提问作者wfgeo
相关产品推荐
相关产品推荐

