Android ICU data 文件编译

    ICU 是开源项目, 提供了最新的unicode标准,字符集转换, 以及超过300个国家的本地数据, 比如数字,时间和信息显示格式等,以及不同语言下的文本排序,日历相关的日期时间操作等。

    详细内容可以访问:

        http://userguide.icu-project.org/

    在android 中, ICU 源码位于 external/icu/下。

    本文介绍在android下, 对icu data做了修改后,如何生成.dat文件。

    如何在icu/icu4c/source/data下修改/增加了文件,那么就需要重新build .dat文件。 这个.dat的原始文件在icu4c/source/stubdata下,名字为icudt<version><flag>.dat, 其中<version>是两个数字,表明icu版本数, <flag>是一个字符,表明该.dat文件的内部格式。例如android M上.dat文件名为icudt55l.dat.

    具体编译步骤:

    1.修改icu4c/souce/data下文件

    2.在终端中进入目录icu4c/source,:

       cd icu4c/source

    3. config 编译选项, 其中Linux代表linux, 终端中输入:

       ./runConfigureICU Linux --with-data-packaging=archive

       注:如果仅仅希望生成包含icu data的icudtxxx.dat 文件,可以使用编译选项:--with-data-packaging=archive, 即终端中输入:

       ./runConfigureICU Linux --with-data-packaging=archive

    4. 终端中输入,:

        make INCLUDE_UNI_CORE_DATA=1

        然后就可以在icu4c/source/data/out/tmp下看到新生成的icudtxxx.dat 文件

        注:必须添加INCLUDE_UNI_CORE_DATA=1, 这样相应的一些资源文件才能被加入.dat文件内, 比如uprops.icu,否则可能导致开机时找不到相应资源死机。跟着各编译选项相关的文件可参看icu4c/source/data/Makefile.in。

     

   5. push icudtxxx.dat到手机/system/usr/icu


在android l and android M 上,新加入了icu4j, 如果修改了icu4c下的data文件,那么也要重新生成icu4j/main/shared下的两个jar文件icudata.jar 和icutzdata.jar.

下面介绍如何生成icudata.jar 和icutzdata.jar,在以上五步的基础上:

  6. cd data (external/icu/icu4c/source/data)

  7. make ICU4J_ROOT=../../../icu4j icu4j-data-install

就可以看到在icu4j/main/shared重新生成了两个jar文件icudata.jar 和icutzdata.jar


  

关于详细内容也可以参看

android源码中的external/icu/icu4c/readme.html

android源码中的external/icu/icu4c/source/data/icu4j-readme.txt

http://userguide.icu-project.org/icudata

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值