android 4.4.系统 添加一门新的语言
来源:互联网 发布:小田切让演技知乎 编辑:程序博客网 时间:2024/06/16 14:11
备注:此例是在4.4系统的基础上添加孟加拉语,具体添加什么语言 其语言代码都各不一样(bn_BD)
1.在external/icu4c/data/locales/底下新增文件 bn_BD.txt内容如下(不过一般这个文件是有的,有的话就不要加了,这步忽略)
bn_BD{
Version{"2.0.82.45"}
}
2.在external/icu4c 底下mkdir icuBuild 然后cd external/icu4c/icuBuild 执行命令 ../runConfigureICU Linux
3.进入external/icu4c/icuBuild下make -j8
4.把新生成的icu4c/icuBuild/data/out/tmp/icudt51l.dat 复制到 icu4c/stubdata/下面, 替换icudt51l-all.dat
由于icu版本的差异性 这里的icudt51l.dat只供参考 一般是这样的icudt*.dat
5.把icu4c/icuBuild/bin/底下的gencnval genrb icupkg makeconv 复制到 prebuilts/misc/linux-x86_64/icu-51/底下,替换原来的文件
注:prebuilts/misc/linux-x86_64/icu-51这个路径可能平台不一样 路径会改变
这里可以在prebuilts下搜索gencnval文件找到路径 find ./prebuilts -name gencnval
6.在icu4c/stubdata/下执行./icu_dat_generator.py
如果提示:
$ANDROID_BUILD_TOP not set! Run 'env_setup.sh'.
解决方法:
手动为ANDROID_BUILD_TOP赋值 export ANDROID_BUILD_TOP = 源码的绝对路径
如果提示:
/home/luwl/share/work/rk3126_kk444/prebuilts/misc/linux-x86_64/icu-51/icupkg: error while loading shared libraries: libicutu.so.51: cannot open shared object file: No such file or directory
['/home/luwl/share/work/rk3126_kk444/prebuilts/misc/linux-x86_64/icu-51/icupkg', '/home/luwl/share/work/rk3126_kk444/external/icu4c/stubdata/icudt51l.dat', '-x', '*', '-d', '/home/luwl/share/work/rk3126_kk444/external/icu4c/tmp']
解决方法:
find /usr/ -name libicutu.so.51 -->得到库的位置
export LD_LIBRARY_PATH=/usr/lib64/libicutu.so.51:$LD_LIBRARY_PATH --》把库所在的目录加载到环境变量中
再次执行 ./icu_dat_generator.py
如果提示
------ Processing '/home/luwl/share/work/rk3126_kk444/external/icu4c/stubdata/icu-data-default.txt'...
Generated ICU data: /home/luwl/share/work/rk3126_kk444/external/icu4c/stubdata/icudt51l-default.dat
则成功
7.在framework/base/core/res/res/ 和 package/app/Setting/res/底下添加values-bn-rBD/文件夹
这个语言包文件夹 可以找客户要 或者找RK要 其他平台的代码上有的话 也可以拷贝过来直接用
8,在build/target/product/language-full.mk里添加了的PRODUCT-LOCALES:=bn_BD
9,make -j8
10, 打包,烧录 即可看到效果
附:
文件icu_dat_generator.py 371行:
source_dat = os.path.basename(glob.glob(os.path.join(stubdata_dir, "icudt*.dat"))[0])
os.path.basename(path) 查询路径中包含的文件名
path = os.path.join('/', 'home', 'work', '123.txt') #使用目录名和文件名构成一个路径字符串
print(os.path.exists(path)) # 查询文件是否存在
print(os.path.getsize(path)) # 查询文件大小
print(os.path.getatime(path)) # 查询文件上一次读取的时间
print(os.path.getmtime(path)) # 查询文件上一次修改的时间
print(os.path.isfile(path)) # 路径是否指向常规文件
print(os.path.isdir(path)) # 路径是否指向目录文件
glob.glob(r'c:\*.txt')
我这里就是获得C盘下的所有txt文件
glob.glob(r'E:\pic\*\*.jpg')
获得指定目录下的所有jpg文件
1.在external/icu4c/data/locales/底下新增文件 bn_BD.txt内容如下(不过一般这个文件是有的,有的话就不要加了,这步忽略)
bn_BD{
Version{"2.0.82.45"}
}
2.在external/icu4c 底下mkdir icuBuild 然后cd external/icu4c/icuBuild 执行命令 ../runConfigureICU Linux
3.进入external/icu4c/icuBuild下make -j8
4.把新生成的icu4c/icuBuild/data/out/tmp/icudt51l.dat 复制到 icu4c/stubdata/下面, 替换icudt51l-all.dat
由于icu版本的差异性 这里的icudt51l.dat只供参考 一般是这样的icudt*.dat
5.把icu4c/icuBuild/bin/底下的gencnval genrb icupkg makeconv 复制到 prebuilts/misc/linux-x86_64/icu-51/底下,替换原来的文件
注:prebuilts/misc/linux-x86_64/icu-51这个路径可能平台不一样 路径会改变
这里可以在prebuilts下搜索gencnval文件找到路径 find ./prebuilts -name gencnval
6.在icu4c/stubdata/下执行./icu_dat_generator.py
如果提示:
$ANDROID_BUILD_TOP not set! Run 'env_setup.sh'.
解决方法:
手动为ANDROID_BUILD_TOP赋值 export ANDROID_BUILD_TOP = 源码的绝对路径
如果提示:
/home/luwl/share/work/rk3126_kk444/prebuilts/misc/linux-x86_64/icu-51/icupkg: error while loading shared libraries: libicutu.so.51: cannot open shared object file: No such file or directory
['/home/luwl/share/work/rk3126_kk444/prebuilts/misc/linux-x86_64/icu-51/icupkg', '/home/luwl/share/work/rk3126_kk444/external/icu4c/stubdata/icudt51l.dat', '-x', '*', '-d', '/home/luwl/share/work/rk3126_kk444/external/icu4c/tmp']
解决方法:
find /usr/ -name libicutu.so.51 -->得到库的位置
export LD_LIBRARY_PATH=/usr/lib64/libicutu.so.51:$LD_LIBRARY_PATH --》把库所在的目录加载到环境变量中
再次执行 ./icu_dat_generator.py
如果提示
------ Processing '/home/luwl/share/work/rk3126_kk444/external/icu4c/stubdata/icu-data-default.txt'...
Generated ICU data: /home/luwl/share/work/rk3126_kk444/external/icu4c/stubdata/icudt51l-default.dat
则成功
7.在framework/base/core/res/res/ 和 package/app/Setting/res/底下添加values-bn-rBD/文件夹
这个语言包文件夹 可以找客户要 或者找RK要 其他平台的代码上有的话 也可以拷贝过来直接用
8,在build/target/product/language-full.mk里添加了的PRODUCT-LOCALES:=bn_BD
9,make -j8
10, 打包,烧录 即可看到效果
附:
文件icu_dat_generator.py 371行:
source_dat = os.path.basename(glob.glob(os.path.join(stubdata_dir, "icudt*.dat"))[0])
os.path.basename(path) 查询路径中包含的文件名
path = os.path.join('/', 'home', 'work', '123.txt') #使用目录名和文件名构成一个路径字符串
print(os.path.exists(path)) # 查询文件是否存在
print(os.path.getsize(path)) # 查询文件大小
print(os.path.getatime(path)) # 查询文件上一次读取的时间
print(os.path.getmtime(path)) # 查询文件上一次修改的时间
print(os.path.isfile(path)) # 路径是否指向常规文件
print(os.path.isdir(path)) # 路径是否指向目录文件
glob.glob(r'c:\*.txt')
我这里就是获得C盘下的所有txt文件
glob.glob(r'E:\pic\*\*.jpg')
获得指定目录下的所有jpg文件
0 0
- android 4.4.系统 添加一门新的语言
- Android系统添加多语言支持
- Android 语言资源库的添加
- Android 语言资源库的添加
- Android 语言资源库的添加
- 为Android添加一门新语言
- 为Android添加一门新语言
- 为Android添加一门新语言
- 为Android添加一门新语言
- 为Android添加一门新语言
- 为Android添加一门新语言
- 为Android添加一门新语言
- 为Android添加一门新语言
- android 添加语言(墨西哥的西班牙)
- android 如何添加一种新的语言
- Android APP多语言的添加
- android系统更新应用的添加
- Android系统添加全局快捷键的方法
- 剑指offer-006
- JavaScript中操作Mysql数据库实例
- atexit()函数登记顺序的的验证
- IPC网络高清摄像机基础知识4(Sensor信号输出YUV、RGB、RAW DATA、JPEG 4种方式区别)
- C语言三种预处理功能
- android 4.4.系统 添加一门新的语言
- 2016.06.15廖雪峰JS__学习笔记(class继承)__P10
- 要不奖励一首风林火山的原声
- Android属性动画的基本使用
- [leetcode] 【字符串】13. Roman to Integer
- 动态规划——爬楼梯
- 按照文件夹名字进行升序排序
- CoreData 基本概念介绍
- 使用Ionic.Zip.dll压缩和解压文件代码笔记