关于icu4c库里的资源这里做个简要介绍,一般情况下无需改动。

android\external\icu4c\data下存放的是icu最原始的资源,其下brkitr、coll、locales三个文件夹下的txt文件即为各国家语言翻译字符串原始资源,存放各语言对于当地特殊文化相关的数据诸如地区时间货币的格式等等。

在编译so库之前先编译一下整个工程,如 . buildslim mode user all。

android\external\icu4c下运行./configure,生成相应的Makefile文件。这里如果运行时提示无权限,则修改该文件的用户权限为可执行。

android\external\icu4c下运行make,会在android\external\icu4c\data\out下生成相应的res资源。此时将android\external\icu4c\data下相关txt文件编译为同名res。

make运行结束后,手动复制android\external\icu4c\data\out\tmp下的icudt42l.dat到android\external\icu4c\stubdata文件夹下,并将其修改为脚本所需要的文件名icudt42l-all.dat。修改stubdata文件夹下的配置文件icudt42l-large.txt,添加您要增加的语言,如里面内容示例:语言_地区.res。注意:所加的语言在一定要在data下存在相应的语言_地区.txt。在增加某语言_地区.res时,若存在对应的上一级的资源语言.txt要把相应的语言.res也加入。

在stubdata文件夹下运行:python icu_dat_generator.py 4.2,此脚本会根据icudt42l-large.txt从icudt42l-all.dat抽取相应资源重新生成新的icudt42l-large.dat

完成后在此文件夹下运行mm,即可生成libicudata.so文件,此so为最终系统中引用的直接资源。重新编译工程也可编出so,重新编译工程前必须恢复一些刚才编译过程中修改或产生的文件,否则无法编译工程,但icudt42l-large.dat和icudt42l-large.txt千万不要恢复了。

这样就把icu的资源编译成so库供使用了。

更多相关文章

  1. C语言函数的递归(上)
  2. Android旋转屏幕后国际化语言失效的解决办法
  3. Android通过ant脚本打包带Library project的方法
  4. Android(安卓)中自定义 Menu 资源
  5. Android(安卓)Glide v4使用(基础篇)
  6. 在LispWorks中使用Common Lisp语言构建iOS/Android库
  7. Android实战技巧之四十八:Android上的Java8和kotlin
  8. Android引用多个平台so库,冲突的问题
  9. Android设置应用程序默认语言

随机推荐

  1. eclipse下 Failed to find an AVD compat
  2. Android学习心得(24) --- Android(安卓)Han
  3. php7中停止php-fpm服务的方法详解
  4. PHP之Swoole学习安装教程
  5. 教你在react中创建自定义hooks
  6. js实现支付倒计时返回首页
  7. 通过vue方式实现二维码扫码功能
  8. vue利用vue meta info设置每个页面的titl
  9. 初识JavaScript的基础
  10. 浅谈Vue3的几个优势