作者:夏至 欢迎转载 ,也请保留这段申明
http://blog.youkuaiyun.com/u011418943/article/details/53690712
最近在看 setting 的源码,不得不说,经典名言 “Read the fucking source code” 真的太有到底了;看得我每天都在怀疑自己是不是搞IT这条不归路;
言归正传,最近要修改 TimePickerDialog 的源码,其中涉及到一个 字符串的修改,按照以前的说法,我们只需要在res下的value的string.xml 添加就可以了;
<!-- The msg of the cancel dialog add by zsr for 2016/12/16 -->
<string name="cancel_dialog_msg">Save changes</string>
是的,一个简单的字符串;然后在编译的时候,报出没有找到这个 cancel_dialog_msg这个 id;查了一个R.java,确实没有;
突然想起,系统中改res资源,需要在value下symbols.xml 添加我们的id;
<!-- add by zsr 2016/12/16-->
<java-symbol type="string" name="cancel_dialog_msg" />
<!-- add end -->
当然,这个只是系统私有的,如果你想让第三方应用也能接收到这个字符串,则需要在public.xml中添加这个id;
这个时候强制编译 mmm -B framework/base 发现还是没有找到这个资源;
原来,这些系统id的资源加载,需要在current.txt中;所以我们则需要输入这个命令:
make update-api,更新我们的api即可。