作者lovelycateye (我还想要更多力量)
看板AndroidDev
标题[分享] res 的命名地雷
时间Mon Jan 6 19:06:32 2014
在 res 内,由於大家的 string 或 drawable 命名一样的时候。
有时候会发生会错误引用到别人的 res 的问题。
因此自己的 app 内的 res 在命名时最好避开建立专案时预设的那些名称。
真实案例1:
Launcher Icon 在某些手机会莫名其妙变成预设的小绿人。
修改 ic_launcher.png 成别的名称就好了。
真实案例2:
strings.xml 内的 App 名称定为 app_name,在 Library Project 内也一样。
因此 Launcher 上的名称就变成 Library Project 的 app_name。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.251.144.84
1F:→ nobody1:1.的问题是layout没有做到该手机的尺寸 才会出现预设值 01/06 20:54
2F:推 changyuheng:有求证过吗?Resource 有 name space 区隔呀! 01/06 23:45
3F:→ charlesdc:请不要误导别人 2是复写的问题有做多国语戏就不会有事 01/07 00:06
4F:推 brandonron:请养成多国语系的好习惯,虽然一开是麻烦 01/07 10:31
5F:→ brandonron:是->始 01/07 10:31
6F:→ lovelycateye:1是原本就有放不同解析度图片,只做修改命名 01/07 10:32
7F:→ lovelycateye:2有一部分确实该算是没做多国语系的问题 01/07 10:33
8F:→ lovelycateye:但是同样放在 values 的话会用到 Library Project 的 01/07 10:35
※ 编辑: lovelycateye 来自: 60.251.144.84 (01/07 11:17)
9F:→ lovelycateye:目前刻意重现却无法重现,可能是Build的设定有问题 01/07 14:16
10F:→ lovelycateye:p.s 是另开新专案重现,不过失败。 01/07 14:17
修正:
拿掉前面的编辑部分,因为确实与多语无关。
Stackoverflow 有人遇到类似状况
http://goo.gl/1xVhR6
找到官方的说法佐证我的状况
http://developer.android.com/tools/projects/index.html#considerations
请参考 Resource conflicts 和 Use prefixes to avoid resource conflicts 这两段
简单说就是:在命名上加上前缀避开这种问题,或是确保你的命名不会重复。
※ 编辑: lovelycateye 来自: 60.251.144.84 (01/07 14:31)