Rob*_*der 13 timezone android kernel icu android-4.4-kitkat
我在我的设备上运行Android 4.4.3,当然它已经过时了,我正在尝试更新/ system/usr/share/zoneinfo中的tzdata.但是,立即替换文件不会更新时区.
由于ICU保留了自己的时区数据副本,我们也必须更换它(根据谷歌AOSP团队).更新后的数据文件更新ICU和更新仿生
但是,当我构建并替换icu4c库(libicui18n.so和libicuuc.so)并将icudt51l.dat替换为icudt53l.dat时,系统无法初始化ICU.
我已经尝试解压缩icudt53l.dat并在旧的icudt51l.dat中推送其*.res文件但是也失败了因为ICUPKG工具在打包之前检查res文件的校验和.
我按照XDA链接更新了tzdata,但是这种方法失败了,因为他们使用tzdata 创建了zoneinfo.dat,zoneinfo.idx,zoneinfo.version文件.但是系统在/ system/usr/share/zoneinfo中查找tzdata本身
我不是时区或ICU专家,如果我朝错误的方向寻求帮助,请指点我.
无需更新 ICU 或 Bionic,您只需使用tzdata更新后的文件更改文件即可。此外,您无需tzdata根据 IANA 时区数据手动生成文件。您可以tzdata从Bionic repo中获取已经构建的内容。您可以在此处找到 Time Zone Data v.2015g 最新版本的更新文件。
下载文件后,将其复制到您的设备上(例如/sdcard/Download/tzdata),然后打开 shell:
shell@maguro:/ $ su
shell@maguro:/ $ setprop persist.sys.timezone Europe/Istanbul
shell@maguro:/ $ date -s 20151106.130000
Fri Nov 6 13:00:00 EET 2015
root@maguro:/ # mount -o rw,remount /system
root@maguro:/ # cd /system/usr/share/zoneinfo/
root@maguro:/system/usr/share/zoneinfo # cp tzdata tzdata.bak
root@maguro:/system/usr/share/zoneinfo # cp /sdcard/Download/tzdata tzdata
root@maguro:/system/usr/share/zoneinfo # chmod 644 tzdata
root@maguro:/system/usr/share/zoneinfo # date
Fri Nov 6 14:00:47 EEST 2015
Run Code Online (Sandbox Code Playgroud)
如果此后仍然不起作用:
root@maguro:/ # cd /data/misc/zoneinfo/
root@maguro:/data/misc/zoneinfo # cp tzdata tzdata.bak
root@maguro:/data/misc/zoneinfo # cp /sdcard/Download/tzdata tzdata
root@maguro:/data/misc/zoneinfo # chmod 644 tzdata
Run Code Online (Sandbox Code Playgroud)
tzdata正如您所看到的,欧洲/伊斯坦布尔时区在 11 月 6 日更新后从 更改EET为 ,EEST因为在 v.2015g 中,土耳其的夏令时从 10 月 25 日推迟到 11 月 8 日。
| 归档时间: |
|
| 查看次数: |
5732 次 |
| 最近记录: |