作者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)