Actualizar los datos de la zona horaria de Android

Estoy ejecutando Android 4.4.3 en mi dispositivo y por supuesto que ha caducado zonas horarias y estoy tratando de actualizar el tzdata en / system / usr / share / zoneinfo . Sin embargo, la sustitución inmediata del archivo no actualiza la zona horaria.

Dado que la UCI mantiene su propia copia de los datos de la zona horaria tenemos que reemplazar también eso (de acuerdo con el equipo de Google AOSP). Los archivos de datos actualizados son Actualización para ICU y Actualización para bionic

Sin embargo, cuando construyo y reemplazo las librerías icu4c (libicui18n.so y libicuuc.so) y reemplazo icudt51l.dat por icudt53l.dat , el sistema no puede inicializar ICU.

He intentado desempaquetar el icudt53l.dat y empujar sus archivos de * .res dentro de viejo icudt51l.dat pero que falló también porque la herramienta de ICUPKG comprueba la suma de control del archivo del res antes de embalarlos.

He seguido el enlace XDA para actualizar tzdata, pero ese enfoque falló porque crean archivos zoneinfo.dat, zoneinfo.idx, zoneinfo.version usando tzdata. Pero el sistema busca tzdata en / system / usr / share / zoneinfo

No soy un huso horario ni un experto en ICU, ¿podrías señalarme si busco en la dirección equivocada y ayuda?

No es necesario actualizar ICU o Bionic, simplemente puede cambiar el archivo tzdata con el actualizado. Además, no es necesario generar manualmente el archivo tzdata de los datos de zona horaria de IANA. Usted puede tomar el tzdata ya construido de la tzdata biónica . Puede encontrar el archivo de actualización en la última versión de Time Zone Data v. 2015g aquí .

Una vez que descargue el archivo, cópielo en su dispositivo (por ejemplo, /sdcard/Download/tzdata ), abra un 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 

Si después de esto todavía no funciona:

 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 

Como se puede ver con el tzdata actualizado, la zona horaria de Europa / Estambul el 6 de noviembre cambia de EET a EEST porque en el v. 2015g el DST de Turquía retrocederá del 25 de octubre al 8 de noviembre.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.