I am running Android 4.4.3 on my device and of course it has outdated time zones and I am trying to update the tzdata in /system/usr/share/zoneinfo. However replacing the file straight away does not update the time zone.
Since ICU keeps its own copy of the time zone data we have to replace that as well (according to Google AOSP team) . The updated data files are Update for ICU and Update for bionic
However, I when I build and replace the the icu4c libraries (libicui18n.so and libicuuc.so) and replace icudt51l.dat with icudt53l.dat, the system cannot initialize ICU.
I have tried unpacking the icudt53l.dat and pushing its *.res files inside old icudt51l.dat but that failed as well because ICUPKG tool checks the checksum of the res file before packing them.
I followed XDA link to update tzdata but that approach failed because they create zoneinfo.dat, zoneinfo.idx, zoneinfo.version files using tzdata. But the system looks for tzdata itself in /system/usr/share/zoneinfo
I am not a time zone or ICU expert, could you please point me if am looking in the wrong direction and help.