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
- Desarrollo de controladores de dispositivos Android - Punto de entrada
- Aplicación Android de telefonía que mantiene el foco en las llamadas entrantes
- La herramienta perf perf de Linux devuelve el recuento de instrucciones cero. ¿Que me estoy perdiendo aqui?
- Diferencia entre el eng y la compilación debug-usuario en Android
- ¿Cómo puedo obtener la versión del núcleo de Android vía adb (o vía comando Python)?
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?
- escribir drivers android
- Reemplazar el kernel preinstalado en la Plataforma Android
- Construya el kernel con AOSP
- ¿Cómo puedo obtener una lista de todos los controladores de kernel activos en mi sistema Android?
- Cómo hacer que una función de kernel linux esté disponible para ftrace function_graph tracer?
- ¿Por qué GDB "salta hacia atrás" al depurar con c códigos fuente
- ¿Tiene sentido tener más de un socket UDP Datagram en espera? ¿Los paquetes "simultáneos" han sido eliminados o puestos en cola por el núcleo?
- 'Elf.h' no encontró error al compilar el núcleo de Android para Nexus 7 en Mac OS X
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.