针对这种同名字符串,通过不同的product引用不同的字符串内容,例如:
<string name="Kitty" product="default" msgid="3498165775351584560">Kitty,good luck!</string>
<string name="Kitty" product="nosdcard" msgid="72816005351468560">Kitty,good dream!</string>
有时候会发现这个不能正确区分,其实原因是因为没有在源码的device文件夹中正确配置,如果只是让系统全部默认单纯指定一个状态(default或者nosdcard),可以直接在device/myproductname/device.mk 里边修改 POODUCT_CHARACTERISTICS = default或者nosdcard就可以了。
但是如果是要动态区分是default还是nosdcard(例如机器同时有USB和SD卡接口),这样就不行了,因为只能默认输出POODUCT_CHARACTERISTICS的单一状态,这时还需要在device/myproductname/overlay/frameworks/base/core/res/res下添加values-name(例如values-zh-rCN)文件夹,新建string.xml文件,里边添加需要区分product的string项,例如:
<string name="Kitty">Kitty,<xliff:g id="desc">%s</xliff:g></string>
这样就可以了。