教育资源为主的文档平台

当前位置: 查字典文档网> 所有文档分类> > 计算机软件及应用> Android MTK开发时区修改

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月月考生物试卷

网友关注

新疆公务员考试行测题库:行测每日一练判断推理练习题答案07.19
2016年新疆自治区公务员面试真题(7月21日下午)
新疆公务员考试行测题库:行测每日一练数量关系练习题06.30
新疆公务员考试行测题库:行测每日一练言语理解与表达练习题答案07.03
2018新疆公务员考试行测演练厅之生活常识模拟题
新疆公务员考试申论每周一练:老年健身场所建设
新疆公务员考试行测题库:行测每日一练言语理解与表达练习题07.10
新疆公务员考试行测题库:行测每日一练言语理解与表达练习题答案07.10
新疆公务员行测题库:行测每日一练判断推理练习题07.19
新疆公务员考试行测题库:行测每日一练言语理解与表达练习题答案07.17
新疆公务员考试行测题库:行测每日一练常识判断练习题答案07.11
公务员考试行测题库:行测每日一练数量关系练习题答案07.21
新疆公务员考试行测题库:行测每日一练常识判断练习题07.11
新疆公务员考试行测题库:行测每日一练资料分析练习题答案07.27
新疆公务员行测题库:行测每日一练常识判断练习题07.18
新疆公务员考试行测题库:行测每日一练数量关系练习题答案06.30
新疆公务员考试申论每周一练:保健品行业乱象与公民健康素养
新疆公务员考试行测题库:行测每日一练言语理解与表达练习题07.17
新疆公务员考试行测题库:行测每日一练常识判断练习题答案07.04
2016年新疆自治区公务员面试真题(7月21日上午)
新疆公务员考试行测题库:行测每日一练言语理解与表达练习题答案07.31
新疆公务员考试行测题库:行测每日一练资料分析练习题07.06
新疆公务员考试行测题库:行测每日一练言语理解与表达练习题07.03
新疆公务员考试行测题库:行测每日一练资料分析练习题07.13
新疆公务员考试行测题库:行测每日一练判断推理练习题答案07.05
新疆公务员考试行测题库:行测每日一练判断推理练习题07.05
新疆公务员考试行测题库:行测每日一练常识判断练习题07.04
新疆公务员行测题库:行测每日一练数量关系练习题07.07
新疆公务员行测题库:行测每日一练常识判断练习题答案07.18
新疆公务员考试申论每周一练答案:老年健身场所建设

网友关注视频

第五单元 民族艺术的瑰宝_15. 多姿多彩的民族服饰_第二课时(市一等奖)(岭南版六年级上册)_T129830
飞翔英语—冀教版(三起)英语三年级下册Lesson 2 Cats and Dogs
河南省名校课堂七年级下册英语第一课(2020年2月10日)
【部编】人教版语文七年级下册《老山界》优质课教学视频+PPT课件+教案,安徽省
3.2 数学二年级下册第二单元 表内除法(一)整理和复习 李菲菲
沪教版八年级下册数学练习册21.3(2)分式方程P15
北师大版数学四年级下册第三单元第四节街心广场
沪教版牛津小学英语(深圳用)五年级下册 Unit 1
19 爱护鸟类_第一课时(二等奖)(桂美版二年级下册)_T502436
沪教版八年级下册数学练习册一次函数复习题B组(P11)
《小学数学二年级下册》第二单元测试题讲解
每天日常投篮练习第一天森哥打卡上脚 Nike PG 2 如何调整运球跳投手感?
第4章 幂函数、指数函数和对数函数(下)_六 指数方程和对数方程_4.7 简单的指数方程_第一课时(沪教版高一下册)_T1566237
二年级下册数学第三课 搭一搭⚖⚖
冀教版小学数学二年级下册第二单元《有余数除法的竖式计算》
8 随形想象_第一课时(二等奖)(沪教版二年级上册)_T3786594
第12章 圆锥曲线_12.7 抛物线的标准方程_第一课时(特等奖)(沪教版高二下册)_T274713
苏科版数学七年级下册7.2《探索平行线的性质》
8.对剪花样_第一课时(二等奖)(冀美版二年级上册)_T515402
三年级英语单词记忆下册(沪教版)第一二单元复习
小学英语单词
沪教版牛津小学英语(深圳用) 四年级下册 Unit 8
沪教版牛津小学英语(深圳用) 四年级下册 Unit 2
【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,湖北省
冀教版小学数学二年级下册1
沪教版牛津小学英语(深圳用) 四年级下册 Unit 3
冀教版小学英语四年级下册Lesson2授课视频
沪教版牛津小学英语(深圳用) 六年级下册 Unit 7
【部编】人教版语文七年级下册《过松源晨炊漆公店(其五)》优质课教学视频+PPT课件+教案,辽宁省
外研版英语七年级下册module3 unit2第一课时