Android 7.1 icu4c(icudt56l.dat)编译

来源:互联网 发布:金属徽章定制价格淘宝 编辑:程序博客网 时间:2024/05/22 07:56

在Android系统开发中我们经常会遇到修改语言名称翻译、日期月份显示格式、时区名称、星期开始周期等问题,这些问题通常都能通过修改icu4c来达到目的,我们先来看看icu4c简介。

ICU4C:是ICU在C/C++平台下的版本, ICU(International Component for Unicode)是基于"IBM公共许可证"的,与开源组织合作研究的, 用于支持软件国际化的开源项目。ICU4C提供了C/C++平台强大的国际化开发能力,软件开发者几乎可以使用ICU4C解决任何国际化的问题,根据各地的风俗和语言习惯,实现对数字、货币、时间、日期、和消息的格式化、解析,对字符串进行大小写转换、整理、搜索和排序等功能,必须一提的是,ICU4C提供了强大的BIDI算法,对阿拉伯语等BIDI语言提供了完善的支持。(来自百度百科)

对于external/icu/icu4c/source/data/下常见的几个目录各文件总结如下(ps:每个文件中的内容包括但不限于下面内容)
external/icu/icu4c/source/data/lang:语言名称翻译
external/icu/icu4c/source/data/locales:日期、月份、am、pm 显示格式
external/icu/icu4c/source/data/zone:时区名称翻示
external/icu/icu4c/source/data/misc/ supplementalData.txt:星期显示格式
修改data文件后,需要重新编译icu4c,生成新的.dat文件,然后push进手机替换之前的.dat文件
icu4c的编译和android系统直接的mk编译有点不一样,具体命令如下:

../runConfigureICU Linuxmake cleanmake INCLUDE_UNI_CORE_DATA=1 all

编译完成后在external\icu\icu4c\source\data\out\tmp下找到生成的文件icudt56l.dat,然后push到手机中的/system/usr/icu/目录,重启手机就可以验证自己的修改,如果验证没有问题后需要把新生成的icudt56l.dat文件替换代码中external/icu/icu4c/source/stubdata/的icudt56l.dat文件提交到代码库中。





原创粉丝点击