今天编译应用的时候出现了“ResTable_type has an id of 0”的错误,一直无法理解,后来才知道是res中定义的自定义type太多了。
观察public_resources.xml,发现res的id从0x7f020000开始,如果是同一个type,不同name,末尾加1。比如:
<public type="drawable" name="contextual_setting_bg" id="0x7f020000" />
<public type="drawable" name="contextual_setting_divider" id="0x7f020001" />
<public type="drawable" name="ic_launcher" id="0x7f020002" />
type不同时,第四位开始加一。
比如:
0x7f020000
0x7f030000
0x7f040000
……
0x7ffe00f4
0x7fff00f4
到FF时用满,无法再分配新的id,导致编译失败。