system/usr/icu/icudt*l.dat(android10:icudt63l.dat)
提供了最新的unicode标准,字符集转换, 以及超过300个国家的本地数据, 比如数字,时间和信息显示格式等,以及不同语言下的文本排序,日历相关的日期时间操作等.
在Android 中, ICU 源码位于 external/icu/下而编译好的icudt**l.dat文件位于external/icu/icu4c/source/stubdata下。 ICU 源码不会随着系统源码编译而自动编译,若有修改需要先编译后生成icudt**l.dat后,将其拷贝到external/icu/icu4c/source/stubdata下替换同名文件后再编译刷机验证。
1. 编译
如果在external/icu/icu4c/source/data/下进行修改,那么就需要重新编译icudt**l.dat文件。
具体编译步骤:
- 建立临时编译目录(推荐在编译到临时目录,不新建直接运行也可以)
$cd external/icu/icu4c/source
mkdir build && cd build - 执行icuConfigureRun Linux命令,生成make文件
$./…/rrunConfigureICU Linux --with–data-packaging=archive - 执行make -j4命令,
$ make clean
$ make INCLUDE_UNI_CORE_DATA=1
然后就可以在external/icu/icu4c/build/source/data/out/tmp/下看到新生成的icudt***l.dat文件
$ ls external/icu/icu4c/source/build/data/out/tmp/icudt63l.dat - 将生成的icudt**l.dat 推送到设备测试效果
$adb root && adb remount && adb push external/icu/icu4c/build/source/data/out/tmp/ icu**l.dat system/usr/icu/
$adb reboot - 测试完成后更新系统源码中的icudt**l.dat,编译打包固件
cp -f external/icu/icu4c/source/build/data/out/tmp/icudt63l.dat ./icu4c/source/stubdata/icudt63l.dat
2. 客制化
修改 设置-语言与输入法-语言设置中语言显示
例:繁體中文(台灣) -> 繁體中文(中國台灣)
diff --git a/external/icu/icu4c/source/data/region/yue.txt b/external/icu/icu4c/source/data/region/yue.txt
index bad6ec8..dcc53b9 100644
--- a/external/icu/icu4c/source/data/region/yue.txt
+++ b/external/icu/icu4c/source/data/region/yue.txt
@@ -269,7 +269,7 @@ yue{
TR{"土耳其"}
TT{"千里達同多巴哥"}
TV{"吐瓦魯"}
- TW{"台灣"}
+ TW{"中國台灣"}
TZ{"坦尚尼亞"}
UA{"烏克蘭"}
UG{"烏干達"}
diff --git a/external/icu/icu4c/source/data/region/zh.txt b/external/icu/icu4c/source/data/region/zh.txt
index a5db96b..bb380e6 100644
--- a/external/icu/icu4c/source/data/region/zh.txt
+++ b/external/icu/icu4c/source/data/region/zh.txt
@@ -269,7 +269,7 @@ zh{
TR{"土耳其"}
TT{"特立尼达和多巴哥"}
TV{"图瓦卢"}
- TW{"台湾"}
+ TW{"中国台湾"}
TZ{"坦桑尼亚"}
UA{"乌克兰"}
UG{"乌干达"}
diff --git a/external/icu/icu4c/source/data/region/zh_Hant.txt b/external/icu/icu4c/source/data/region/zh_Hant.txt
index 24f94fd..65b6b1c 100644
--- a/external/icu/icu4c/source/data/region/zh_Hant.txt
+++ b/external/icu/icu4c/source/data/region/zh_Hant.txt
@@ -270,7 +270,7 @@ zh_Hant{
TR{"土耳其"}
TT{"千里達及托巴哥"}
TV{"吐瓦魯"}
- TW{"台灣"}
+ TW{"中國台灣"}
TZ{"坦尚尼亞"}
UA{"烏克蘭"}
UG{"烏干達"}
按照1. 编译 进行编译测试