关闭

android 4.4.系统 添加一门新的语言

标签: android系统语言
803人阅读 评论(0) 收藏 举报
分类:
备注:此例是在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文件









0
0
查看评论

Kotlin ---Android开发的一种新语言(开始篇)

Kotlin 官方文档(翻译)有时间过来和大家一起分享一下Android开发使用的另一种新语言,本文章是原创翻译,有理解的不到位的地方,请多多指教 使用Kotlin进行Android开发Kotlin是一个很好的适合开发Android应用程序,不带任何新的限制的引入Android平台的现代语言的所有优...
  • tqq1226
  • tqq1226
  • 2017-05-31 17:34
  • 1445

如何学习一门新的开发语言

作为一名软件研发,由于工作的需要,难免需要接触新的知识,新的技术,新的开发语言.有时候接触这些新的东西,不知道如何下手.每个人学习的方式都不一样,可以借鉴,不能完全照搬.最近在学习Android,我觉得可以按照以下步骤去入门. 1)准备一本入门的电子书或者买一本入门书籍,先大概看完能将开发...
  • loveheronly
  • loveheronly
  • 2015-03-07 11:55
  • 846

如何自学一门新的语言:由学习C++想到的

上半年学了C++.平时我把大部分时间都用在了它上面。除了C++大学教程那本书外我还看了C++ primer。三个月的时间我把它们都看完了。期间做了大量的笔记,每遇到一个疑问我都会在书上标示出来,注明日期。等以后明白了再来回答。自我感觉基础知识还是掌握的挺好的。
  • ithzhang
  • ithzhang
  • 2011-07-04 11:05
  • 11624

如何学习一门新语言(程序员篇)

上篇谈了新手如何学习一门新的语言话题;那么对于已经掌握一种或一种以上的程序员如何学习一门新的语言呢?由于程序员已经有一定语言基础,形成了自己一套学习方法和思维定式,所以这个问题还是和新手学语言是有些差别的。但是在现实中,我还是发现不少程序员因为工作的需要而学习新的语言问题。他们心怀恐惧、不知道自己如...
  • eom_n216
  • eom_n216
  • 2009-12-21 14:09
  • 1527

为Android添加一门新语言

转自:http://www.cnblogs.com/melaniedeng/archive/2012/02/15/2353382.html 虽然Android从2.3开始已经支持50种以上的语言,但是不是每种语言都有字体可以显示。遇到一个新需求,有客户要求对hindi语言的支持。于是上网找了一...
  • ollins136
  • ollins136
  • 2013-11-15 17:17
  • 394

JavaScript是一门怎样的语言

JavaScript 是怎样的语言 在mozilla 开发者网站上是这样描述JavaScript的: JavaScript (js) is a lightweight interpreted or JIT-compiled programming language with first-cl...
  • yueloveme
  • yueloveme
  • 2017-08-19 17:10
  • 480

[软件人生]程序员与语言选择——给一个刚毕业的大学生工作方向的分析对话

2006-07-16 18:09:59 Roc您好 2006-07-16 18:10:29 青润你好。   2006-07-16 18:11:53 Roc不知道您现在空否?呵呵 2006-07-16 18:11:16 青润现在在下棋。呵呵   2006-07-16 18:12:1...
  • qingrun
  • qingrun
  • 2006-11-05 00:33
  • 17570

Android 5.0 设置语言的增加和删除

在修改Android5.0源码中的settings时,想删除settings中的不想关语言,只留下中文和英文两种语言,语言设置功能页面是在LocalePicker.java文件中,该类继承了framework/base/core/java/com/android/internal/app/Local...
  • u014774589
  • u014774589
  • 2016-01-08 09:48
  • 1548

CCF-201509-5 最佳文章

问题描述  小明最近在研究一门新的语言,叫做Q语言。Q语言单词和文章都可以用且仅用只含有小写英文字母的字符串表示,任何由这些字母组成的字符串也都是一篇合法的Q语言文章。   在Q语言的所有单词中,小明选出了他认为最重要的n个。使用这些单词,小明可以评价一篇Q语言文章的“重要度”。   文章“...
  • xushao_Movens
  • xushao_Movens
  • 2016-04-09 20:48
  • 846

怎样学习一门编程语言

选择一门语言确定你感兴趣的领域你可以开始学习任何编程语言(尽管其中一些被描述地比其他的更加“易学”),你得去问自己自己想用通过学习这门语言完成什么样的工作。这将会帮助你确定你应该追求的编程方式并且提供一个良好的开始。如果你想进入Web开发行业,那你将会有一堆语言需要去学习,这和开发计算机程序相反。移...
  • NoMasp
  • NoMasp
  • 2015-04-06 02:12
  • 11752
    个人资料
    • 访问:2888次
    • 积分:79
    • 等级:
    • 排名:千里之外
    • 原创:5篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档