Android 9.0 系统关闭时区夏令时功能
1.前言
在9.0的系统rom定制化开发中,在开发国际化项目中,对于有些地区执行夏令时,导致时间对不上,也有可能
一个国家某些地区执行夏令时而一些国家不执行夏令时,导致时间不一样,所以为了避免麻烦,就关闭系统的夏令时功能,
夏令时会比正常时间晚一小时。这就需要分析时间差在哪,关闭掉就可以了
2.系统关闭时区夏令时功能的核心代码块部分
bionic\\libc\\tzcode\\bionic.cppbionic\\libc\\tzcode\\localtime.clibcore\\luni\\src\\main\\java\\libcore\\util\\ZoneInfo.java
3.系统关闭时区夏令时功能的分析和功能的实现
3.1 bionic.cpp中关于获取时区的功能分析
#include <arpa/inet.h> // For ntohl(3).#include <errno.h>#include <fcntl.h>#include <stdint.h>#include <stdlib.h>#include <unistd.h>#include \"private/CachedProperty.h\"extern \"C\" void tzset_unlocked(void);extern \"C\" int __bionic_open_tzdata(const char*, int32_t*);extern \"C\" void tzsetlcl(char const*);void tzset_unloc