android Framework层添加资源方式

最近工作中,在移植输入法去新的分支的时候,发现输入法在弹出过程会强死,这是因为调用framework层的一个layout时查找不到;于是找到这个资源,在framework层中添加了这个资源,但是发现编译后输入法仍然找不到这个资源。通过网络搜索,找到了原因。在系统的framework/base/core/res/res中添加字串等资源,需要在framework/base/core/res/res/values/symbols.xml中同步添加资源字串,否则编译会出错。
比如在strings.xml中添加字串:

    <string name="close_adb_title">Turn off ADB Debug</string>

那么就需要在symbols.xml中添加:

    `<java-symbol type="string" name="close_adb_title" />`  

layout也同理。 在framework层中,symbols.xml 和 public.xml的作用是一样的。到4.2才分成两个文件的,public.xml定义的资源进入android.R.java symbols.xml(共有资源),symbols.xml定义的资源进入com.android.internal.R.java(私有资源),并不是严格定义。在一个xml文件里也可以通过不同的标签来控制资源是公共的还是私有的。记得在使用的时候,R.还是internal.R.需要分清楚,看你加的资源在哪个包里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值