上篇文章讲的是/system/customize/ACC
下的修改,这篇文章主要是/system/customize/CID
下的。
CID目录下也是一个名为default.xml的文件,一般修改不多,主要是系统语言的设置。下面直接讲重点。
PS:部分地区RUU的ACC、CID目录下会有default.xml以外的xml文件,名字都是不同地区的CID,比如HTC__001.xml,系统会根据手机CID码(此CID非本篇提到的CID配置目录)匹配,如果匹配上就读取对应的xml文件,如果没有就读取default.xml。一般做第三方ROM会考虑删除其他xml文件,只留default.xml。
系统可选语言配置 搜索<module name="locale">
,找到类似于下面的一段代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 <module name ="locale" > <function > <set name ="single" > <item name ="total_list" > ar_US;bg_US;cs_US;da_US;de_US;el_US;en_US;es_US;et_US;fa_US;fi_US;fr_US;hr_US;hu_US;in_US;it_US;iw_US;ja_US;kk_US;ko_US;lt_US;lv_US;nb_US;nl_US;pl_US;pt_US;ro_US;ru_US;sk_US;sl_US;sr_US;sv_US;th_US;tr_US;uk_US;vi_US;zh_CN;zh_TW;</item > <item type ="boolean" name ="ar_US" > yes</item > <item type ="boolean" name ="bg_US" > yes</item > <item type ="boolean" name ="cs_US" > yes</item > <item type ="boolean" name ="da_US" > yes</item > <item type ="boolean" name ="de_US" > yes</item > <item type ="boolean" name ="el_US" > yes</item > <item type ="boolean" name ="en_US" > yes</item > <item type ="boolean" name ="es_US" > yes</item > <item type ="boolean" name ="et_US" > yes</item > <item type ="boolean" name ="fa_US" > yes</item > <item type ="boolean" name ="fi_US" > yes</item > <item type ="boolean" name ="fr_US" > yes</item > <item type ="boolean" name ="hr_US" > yes</item > <item type ="boolean" name ="hu_US" > yes</item > <item type ="boolean" name ="in_US" > yes</item > <item type ="boolean" name ="it_US" > yes</item > <item type ="boolean" name ="iw_US" > yes</item > <item type ="boolean" name ="ja_US" > yes</item > <item type ="boolean" name ="kk_US" > yes</item > <item type ="boolean" name ="ko_US" > yes</item > <item type ="boolean" name ="lt_US" > yes</item > <item type ="boolean" name ="lv_US" > yes</item > <item type ="boolean" name ="nb_US" > yes</item > <item type ="boolean" name ="nl_US" > yes</item > <item type ="boolean" name ="pl_US" > yes</item > <item type ="boolean" name ="pt_US" > yes</item > <item type ="boolean" name ="ro_US" > yes</item > <item type ="boolean" name ="ru_US" > yes</item > <item type ="boolean" name ="sk_US" > yes</item > <item type ="boolean" name ="sl_US" > yes</item > <item type ="boolean" name ="sr_US" > yes</item > <item type ="boolean" name ="sv_US" > yes</item > <item type ="boolean" name ="th_US" > yes</item > <item type ="boolean" name ="tr_US" > yes</item > <item type ="boolean" name ="uk_US" > yes</item > <item type ="boolean" name ="vi_US" > yes</item > <item type ="boolean" name ="zh_CN" > yes</item > <item type ="boolean" name ="zh_TW" > yes</item > </set > </function > </module >
这一段就是用来配置系统可选语言的。其中total_list
的值为所有语言,不同语言之间用“;”隔开。接来下数行就列出这些语言。
一般我做ROM只保留简体中文、繁体中文和英文,所以一般配置如下:
1 2 3 4 5 6 7 8 9 10 <module name ="locale" > <function > <set name ="single" > <item name ="total_list" > en_US;zh_CN;zh_TW;</item > <item type ="boolean" name ="en_US" > yes</item > <item type ="boolean" name ="zh_CN" > yes</item > <item type ="boolean" name ="zh_TW" > yes</item > </set > </function > </module >
当然,这个因人而异,你也可以把所有语言都留着。不过这里的配置仅仅是提供设置中可选的语言,具体显示还得依赖各个apk,如果apk本身没有这个语言支持,则显示默认语言。
强制软件版本信息显示 搜索<module name="locale">
,找到类似于下面的一段代码:
1 2 3 4 5 6 7 <module name ="deviceData1" > <function > <set name ="single" > <item name ="sw_number" > NA</item > </set > </function > </module >
如果sw_number
值为NA,则设置——关于——软件信息——软件版本显示的是build.prop中的值(具体后面文章会讲),如果不为NA,则会强制显示为该值。强制显示是指,比如这里设为NTFLC ROM 1.0,则下次不清数据刷值为NTFLC ROM 2.0的ROM,设置里还是显示NTFLC ROM 1.0。只有清除数据才会显示为新值。一般,国行官方系统会修改这里的值,比如M9国行联通版就设置其为1.0.0.M9w。
一般还是建议将ROM版本信息写在build.prop中,否则用户不清数据升级到新版本,设置里还显示老版本号,会以为自己没升级成功。
默认允许安装未知源应用 搜索SettingsProvider
,找到类似于下面的一段代码:
1 2 3 4 5 6 7 8 9 10 <category name ="SettingsProvider" > <module name ="res" > <function name ="values" > <set name ="single" > <item name ="def_htc_mobile_network_on" > true</item > <item name ="def_2g_on" > 3</item > </set > </function > </module > </category >
在
1 2 3 <set name ="single" > …… </set >
之间添加:
1 <item name ="def_install_non_market_apps" > 1</item >
加上此项后,设置——安全——未知源默认勾选,这样安装非Google Play应用就不会提示去设置允许未知源了。