文章出处:http://blog.csdn.net/shift_wwx
前言:今天碰到在config.xml中添加一个string,编译framework-res.apk是ok,但是编译引用它的地方就出问题了,提示can not find the symbol,我记得以前搞过这个问题,可怎么也回忆不起来。小结一下,后续慢慢补充。
android从kitkat之后,对系统级的权限限制的比较死,permission、value等都有明确的规定的地方,因为会造成应用之间的冲突。
修改步骤:
1:在core/res/res/values/symbols.xml 中注册一下
<java-symbol type="string" name="add_account_button_label" /> <java-symbol type="string" name="addToDictionary" /> <java-symbol type="string" name="action_bar_home_description" /> <java-symbol type="string" name="action_bar_up_description" /> <java-symbol type="string" name="app_running_notification_title" /> <java-symbol type="string" name="app_running_notification_text" /> <java-symbol type="string" name="delete" />这样编译之后是在com.android.internel.R下有id的
或者是在public.xml注册也行,但是id一定要独立
<public type="string" name="cancel" id="0x01040000" /> <public type="string" name="copy" id="0x01040001" /> <public type="string" name="copyUrl" id="0x01040002" /> <public type="string" name="cut" id="0x01040003" /> <public type="string" name="defaultVoiceMailAlphaTag" id="0x01040004" /> <public type="string" name="defaultMsisdnAlphaTag" id="0x01040005" /> <public type="string" name="emptyPhoneNumber" id="0x01040006" /> <public type="string" name="httpErrorBadUrl" id="0x01040007" />这样编译会在android.R 和 com.android.internel.R都出现id。
2:make update-api
这一步也是至关重要的
这样编译出来的framework-res.apk就可以用了。
后续补充一下其他注意点。