我在设备上运行的是Android 4.4.3,由于它具有过时的时区信息,因此我正在尝试更新/system/usr/share/zoneinfo中的tzdata。然而,直接替换文件并不能更新时区。
根据Google AOSP团队的说法,由于ICU保留了自己的时区数据副本,因此我们还必须替换它的数据文件。更新的数据文件为 ICU更新和 bionic更新。
但是,当我构建并替换icu4c库(libicui18n.so和libicuuc.so)并将icudt51l.dat替换为icudt53l.dat时,系统无法初始化ICU。
我已经尝试解压缩icudt53l.dat并将其*.res文件推送到旧的icudt51l.dat中,但由于ICUPKG工具在打包之前会检查res文件的校验和,因此这也失败了。
我遵循了XDA更新tzdata的链接,但该方法失败了,因为它们使用tzdata创建zoneinfo.dat、zoneinfo.idx和zoneinfo.version文件。但系统在/system/usr/share/zoneinfo中寻找tzdata本身。
我不是时区或ICU专家,请问我是否朝错误的方向努力了,能否提供帮助。
根据Google AOSP团队的说法,由于ICU保留了自己的时区数据副本,因此我们还必须替换它的数据文件。更新的数据文件为 ICU更新和 bionic更新。
但是,当我构建并替换icu4c库(libicui18n.so和libicuuc.so)并将icudt51l.dat替换为icudt53l.dat时,系统无法初始化ICU。
我已经尝试解压缩icudt53l.dat并将其*.res文件推送到旧的icudt51l.dat中,但由于ICUPKG工具在打包之前会检查res文件的校验和,因此这也失败了。
我遵循了XDA更新tzdata的链接,但该方法失败了,因为它们使用tzdata创建zoneinfo.dat、zoneinfo.idx和zoneinfo.version文件。但系统在/system/usr/share/zoneinfo中寻找tzdata本身。
我不是时区或ICU专家,请问我是否朝错误的方向努力了,能否提供帮助。