Mexico City Timezone is incorrect

背景: 墨西哥取消夏令时,Android 系统的时区时间会不对,需要同步更新时区。

解决方案 – – 更新timezone data (以Android10 为例):

  1. 更新system/timezone/,主要检查system/timezone/input_data/iana 下的tzdata 更新至2023a
    https://android.googlesource.com/platform/system/timezone/+/refs/heads/android10-dev
  2. 同步更新externam/icu, 以防全编报错。
    https://android.googlesource.com/platform/external/icu/+/refs/heads/android10-dev
  3. 进入system/timezone, 执行python update-tzdata.py
  4. 此时system/timezone/和external/icu会有更新

验证方式:

  1. Setting > System > Date Time > disable Use Network Provider Time > disable use network provided time zone > under select Time zone > choose Mexico City 检查时间是否正确, Mexio
  2. 查看tz_version版本是否都更新到2023a。
    /system/usr/share/zoneinfo/tz_version
    /system/usr/share/zoneinfo/tzdata

该方案在Android10及以下的平台都可以完全解决该问题。

但是在Android11该方案没有生效!!!

根据log," zygote : Time zone APEX ICU file found: /apex/com.android.tzdata/etc/icu/icu_tzdata.dat"

查看com.android.tzdata下tz_version 没有更新。

cat apex/com.android.tzdata/etc/tz/tz_version

新增修改, 更新com.android.tzdata apks

然鹅,又有新的问题,

run cts -m CtsIcuTestCases -t com.android.i18n.test.timezone.TimeZoneIntegrationTest#testTzDataSetVersions fail
run gts -m GtsOsTestCases -t com.google.android.os.gts.MainlineConfigurationTest#testMainlineApprovedTrain fail

原因就是不能单独更新com.android.tzdata apksvendor/partner_modules下需要统一更新mainline,这一块就请相关同事帮忙处理更新。

如果国内的产品不需要跑CTS和GTS的话,现有方案已经可以解决该问题。

其他收获的话,还是要时常关注google对Android的更新。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值