Android MTK开发时区修改
上传者:孙翊|上传时间:2015-04-22|密次下载
Android MTK开发时区修改
[FAQ06455] 【Zone】如何添加一个新的时区
问题描述:有些项目需要出货到海外,比如非洲的一些国家,目前的版本中这些国家没有单独的时区,而是使用的如非洲东部时间,非洲标准时间等,为了提高当地用户体验,需要在setting菜单中增加一个时区,比如为出货到尼日尼亚的手机增加时区 尼日尼亚拉各斯。
解决方案:以加入Nigeria时区为例,应该如下修改:
1.找到该国家在zoneinfo中的时区信息。
时区信息的文件可以从ftp://munnari.oz.au/pub/下载到最新的,解压tzdata201x*.tar.gz后,在每个地区的txt文件中有城市的时区信息,搜索是否有您要添加的城市,则该时区可以添加;如果没有搜索到相关的国家或城市,则需要考虑使用别的城市的时区。
比如在africa.txt中搜索Nigeria,可以找到下面的内容:
# Nigeria
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Lagos 0:13:36 - LMT 1919 Sep
1:00 - WAT
这样可以看到,尼日利亚只有一个城市可以作为时区ID,这个ID就是Africa/Lagos。
2.修改packages/apps/Settings/res/xml-xx-xx/timezones.xml (xx-xx表示不同的语言和区域),添加下面的内容:
<!-- timezones.xml 用于在setting中增加一个时区设置项 -->
<timezone id="Africa/Lagos">Lagos</timezone>
3.修改framework/base/core/res/res/xml/time_zones_by_country.xml,添加下面的内容
<!--time_zones_by_country.xml 这个用于自动匹配时区时使用,通过country code找一个时区 -->
<!-- Nigeria, 1:00 -->
<timezone code="ng">Africa/Lagos</timezone>
<!-- 这里的code="ri"表示国家代码,比如中国对应cn,美国对应us,不清楚可以维基百科查询ISO_3166-1-->
这是添加一个时区的步骤,如果要添加多个时区,请重复或批量执行以上步骤。
[FAQ08718]如何在ICU中自定义某个时区的显示名称
【Description】:
目前对于有些地区,很多国家会使用一个时区,显示的名称也是一样,比如对于欧洲,很多城市使用“欧洲中部时间”“中欧夏令时”,非洲国家也是类似的。对于有些客户,可能有定制显示需求,对于某些时区,不显示“xx中部时间”,而是显示“xx时间”,比如下面会以荷兰阿姆斯特丹为例,目前在手机Setting中选择“Amsterdam,Berlin”后在Date&Time界面会显示“Central European Summer Time”,下面是修改荷兰语下这个显示为自定义名称的过程。
【Solution】:
时区Europe/Amsterdam目前显示出来的时间是“欧洲中部时间”或“欧洲中部时间”,如果要修改荷兰语下显示为“阿姆斯特丹时间”或其他自定义的显示,请follow下面的修改:
1.找到时区ID
时区id并不是城市名称,手机显示到时区列表上的时区名称与时区id有映射关系,可以通过查看Settings中的timezones.xml来确定,package/apps/Settings/res/xml-zh/timezones.xml是中文。这样可以找到Amsterdam,Berlin的时区id是Europe/Amsterdam。
2.修改metaZones.txt文件
1)修改mapTimezones
修改的目的是把时区添加到自己定义的显示规则中,这样通过时区ID Europe/Amsterdam就可以得到该显示规则Europe_Amsterdam。这个步骤分2步: a)定义自己的显示规则名称
比如我定义了新的规则Europe_Amsterdam, 需要在mapTimezones中添加进去,mapTimezones中顺序是按字母排序的,所以Europe_Amsterdam这个规则要添加到Europe_Central的前面,如下:
Europe_Amsterdam{
}
b)将要修改的时区从原规则中删除,添加到自定义的规则中
找到要修改的时区,比如Europe/Amsterdam在Europe_Central中,
剪切NL{“Europe/Amsterdam”},粘贴到自定义的时区显示规则中,如下所示: Europe_Amsterdam{
NL{"Europe/Amsterdam"}
}
2)修改metaZoneinfo
添加meta信息,这样就可以通过显示规则名称Europe_Amsterdam得到meta信息Europe:Amsterdam。
"Europe:Amsterdam"{
{
"Europe_Amsterdam"
}
}
3. 修改zone/nl.txt文件
不同的txt文件代表的是不同语言,语言和区域代码可通过查询ISO-3166-1和ISO-639标准确定。
定义在界面显示的字串,这样根据之前得到的meta信息可以得到要显示的字串。 同样的,名称是按照字母排序的,所以在Europe_Central前面添加,如下: "meta: Europe_Amsterdam"{
ld{"夏令时间显示名称"}
ls{"标准时间显示名称"}
}
4. 编译ICU资源
请参考FAQ04011进行编译和测试
[FAQ04011]如何编译ICU资源
如果只是测试修改后效果,执行步骤A即可;如果需要build后生效,则需要执行全部步骤
A.在临时目录中编译ICU资源
1.在external/icu4c下新建临时目录icubuild,进入icubuild目录 $mkdir external/icu4c/icuBuild
$cd external/icu4c/icuBuild
2.执行icuConfigureRun Linux命令,生成make文件
$.././runConfigureICU Linux
3.执行make -j2命令
$make -j2
4.将生成的external/icu4c/icuBuild/data/out/tmp/icudt48l.dat push到手机测试
$adb remount
$adb push external/icu4c/icuBuild/out/data/tmp/icudt48l.dat system/usr/icu/
$adb reboot (千万记得重启手机才看得到修改后的效果)
注:JB及以上是icudt48l.dat
B.COPY所需文件
将第一步生成的external\icu4c\icubuild\data\out\tmp\icudt48l.dat复制到external\icu4c\stubdata下并改名为icudt48l-all.dat,覆盖原来的同名文件 注:JB及以上是icudt48l.dat和icudt48l-all.dat
C.配置环境变量
重新配置环境变量(如果不配置正确会导致执行脚本出错)。以我的系统为例,配置过程如下:
1. 在终端中进入/work/pro/c70_u10_y320/mt6572_jb3目录即:
$cd /work/pro/c70_u10_y320/mt6572_jb3
2. 然后执行脚本(等价于./ build/envsetup.sh):
$source build/envsetup.sh
3. 配置环境变量(注意“=”前后不要有空格)。
$export ANDROID_BUILD_TOP=/home/ckt/work/pro/c70_u10_y320/mt6572_jb3 执行完没有任何提示说明配置成功。
执行完没有任何提示说明配置成功,有提示说明配置出错。需要重新配置
D. 执行脚本,重新生成.dat文件
执行脚本,如果遇到文档印尼语错误请用附件(或MTK)提供的脚本(icu_dat_generator.rar)替换后再执行,如下所示:
1. 进入/work/pro/c70_u10_y320/mt6572_jb3/external/icu4c/studdata目录
$cd external/icu4c/stubdata
2. 执行脚本
$./icu_dat_generator.py
如果该脚本执行成功,external\icu4c\stubdata\icudt48l-default.dat会更新,如果看到文件的修改时间变成了最新的时间,就说明已经重新生成,真正最后起作用的是icudt48l- default.dat这个文件。
注:JB及以上是icudt48l-default .dat
E. 重新编译工程
修改后重新编译工程来测试效果,使用./mk ckt72_we_jb3 new命令
F. 上传.dat文件到SVN
如果你使用svn或类似软件进代码管理,那么就要将你修改的结果上传到服务器上,使服务器new或build之后可以看到修改效果。需要上传那些文件呢?请将studdata目录下的icudt48l-default.dat文件上传。
说明:实际上脚本的作用就是将icudt48l-all.dat解压后,根据txt文件内容重新生成icudt48l-default.dat文件,在build的时候Android.mk文件会直接将icudt48l- default.dat文件改名后复制到最终out目录中,所以上传到服务器只需要将生成的这些.dat文件传上去,其它在本机修改的都不用(如果传上去可能会build出错)。
下载文档
热门试卷
- 2016年四川省内江市中考化学试卷
- 广西钦州市高新区2017届高三11月月考政治试卷
- 浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
- 浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
- 辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
- 广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
- 广西钦州市钦州港区2017届高三11月月考政治试卷
- 广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
- 广西钦州市高新区2016-2017学年高二11月月考政治试卷
- 广西钦州市高新区2016-2017学年高一11月月考政治试卷
- 山东省滨州市三校2017届第一学期阶段测试初三英语试题
- 四川省成都七中2017届高三一诊模拟考试文科综合试卷
- 2017届普通高等学校招生全国统一考试模拟试题(附答案)
- 重庆市永川中学高2017级上期12月月考语文试题
- 江西宜春三中2017届高三第一学期第二次月考文科综合试题
- 内蒙古赤峰二中2017届高三上学期第三次月考英语试题
- 2017年六年级(上)数学期末考试卷
- 2017人教版小学英语三年级上期末笔试题
- 江苏省常州西藏民族中学2016-2017学年九年级思想品德第一学期第二次阶段测试试卷
- 重庆市九龙坡区七校2016-2017学年上期八年级素质测查(二)语文学科试题卷
- 江苏省无锡市钱桥中学2016年12月八年级语文阶段性测试卷
- 江苏省无锡市钱桥中学2016-2017学年七年级英语12月阶段检测试卷
- 山东省邹城市第八中学2016-2017学年八年级12月物理第4章试题(无答案)
- 【人教版】河北省2015-2016学年度九年级上期末语文试题卷(附答案)
- 四川省简阳市阳安中学2016年12月高二月考英语试卷
- 四川省成都龙泉中学高三上学期2016年12月月考试题文科综合能力测试
- 安徽省滁州中学2016—2017学年度第一学期12月月考高三英语试卷
- 山东省武城县第二中学2016.12高一年级上学期第二次月考历史试题(必修一第四、五单元)
- 福建省四地六校联考2016-2017学年上学期第三次月考高三化学试卷
- 甘肃省武威第二十三中学2016—2017学年度八年级第一学期12月月考生物试卷
网友关注
- 体育教育是学校教育的重要组成部分
- 爱的寄语.
- 桃园小学绩效工资分配方案
- 1年级活动计划
- 7.10班 班级公约
- 2012年庆祝教师节文件
- 学期安排
- 小学去极端思想工作汇报
- 低段识字教学随笔
- 立案登记执行情况
- 14-15学年20总课表
- 七年级生物下册教学工作计划2
- 为什么“中华人民共和国征地拆迁补偿暂行条例”是假的?
- 教师全方位塑形工程发展规划
- 邓寨学校期中考试总结大会教师发言稿
- 我的教育故事
- 英国教育访问类签证进行变更
- 一年级下期班主任总结
- 初中化学实验教学计划
- 《法证先锋》影评:幸福本该属于你
- 计算机word文件
- 三年级英语下册教学计划
- 九年级数学上学期教学计划
- 二年级二(3)班班队工作计划
- 非上市公司股权激励方案要点
- 让课堂因阳光而熠熠生辉
- 穿越火线怎么刷毁永久绝版枪英雄级CF怎么卡黑骑士火麒麟盘龙天龙灭无软件
- 如何做一名合格的班主任
- 第一周教学心得篇
- 2012 -- 2013学年第二学期 重修试题
网友关注视频
- 外研版英语七年级下册module3 unit2第一课时
- 【部编】人教版语文七年级下册《逢入京使》优质课教学视频+PPT课件+教案,安徽省
- 北师大版数学四年级下册第三单元第四节街心广场
- 沪教版八年级下册数学练习册21.3(3)分式方程P17
- 【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,湖北省
- 8.对剪花样_第一课时(二等奖)(冀美版二年级上册)_T515402
- 沪教版八年级下册数学练习册一次函数复习题B组(P11)
- 8 随形想象_第一课时(二等奖)(沪教版二年级上册)_T3786594
- 冀教版英语五年级下册第二课课程解读
- 北师大版八年级物理下册 第六章 常见的光学仪器(二)探究凸透镜成像的规律
- 化学九年级下册全册同步 人教版 第22集 酸和碱的中和反应(一)
- 3.2 数学二年级下册第二单元 表内除法(一)整理和复习 李菲菲
- 第19课 我喜欢的鸟_第一课时(二等奖)(人美杨永善版二年级下册)_T644386
- 外研版英语七年级下册module1unit3名词性物主代词讲解
- 【部编】人教版语文七年级下册《逢入京使》优质课教学视频+PPT课件+教案,辽宁省
- 19 爱护鸟类_第一课时(二等奖)(桂美版二年级下册)_T3763925
- 8.练习八_第一课时(特等奖)(苏教版三年级上册)_T142692
- 冀教版小学数学二年级下册第二单元《有余数除法的整理与复习》
- 沪教版八年级下册数学练习册21.4(1)无理方程P18
- 第五单元 民族艺术的瑰宝_16. 形形色色的民族乐器_第一课时(岭南版六年级上册)_T3751175
- 沪教版牛津小学英语(深圳用) 四年级下册 Unit 3
- 沪教版牛津小学英语(深圳用) 四年级下册 Unit 4
- 冀教版小学数学二年级下册第二单元《有余数除法的竖式计算》
- 30.3 由不共线三点的坐标确定二次函数_第一课时(市一等奖)(冀教版九年级下册)_T144342
- 北师大版小学数学四年级下册第15课小数乘小数一
- 七年级英语下册 上海牛津版 Unit5
- 河南省名校课堂七年级下册英语第一课(2020年2月10日)
- 沪教版牛津小学英语(深圳用) 六年级下册 Unit 7
- 沪教版牛津小学英语(深圳用) 四年级下册 Unit 12
- 沪教版牛津小学英语(深圳用) 五年级下册 Unit 12
精品推荐
- 2016-2017学年高一语文人教版必修一+模块学业水平检测试题(含答案)
- 广西钦州市高新区2017届高三11月月考政治试卷
- 浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
- 浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
- 辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
- 广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
- 广西钦州市钦州港区2017届高三11月月考政治试卷
- 广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
- 广西钦州市高新区2016-2017学年高二11月月考政治试卷
- 广西钦州市高新区2016-2017学年高一11月月考政治试卷
分类导航
- 互联网
- 电脑基础知识
- 计算机软件及应用
- 计算机硬件及网络
- 计算机应用/办公自动化
- .NET
- 数据结构与算法
- Java
- SEO
- C/C++资料
- linux/Unix相关
- 手机开发
- UML理论/建模
- 并行计算/云计算
- 嵌入式开发
- windows相关
- 软件工程
- 管理信息系统
- 开发文档
- 图形图像
- 网络与通信
- 网络信息安全
- 电子支付
- Labview
- matlab
- 网络资源
- Python
- Delphi/Perl
- 评测
- Flash/Flex
- CSS/Script
- 计算机原理
- PHP资料
- 数据挖掘与模式识别
- Web服务
- 数据库
- Visual Basic
- 电子商务
- 服务器
- 搜索引擎优化
- 存储
- 架构
- 行业软件
- 人工智能
- 计算机辅助设计
- 多媒体
- 软件测试
- 计算机硬件与维护
- 网站策划/UE
- 网页设计/UI
- 网吧管理