Android 11.0 系统关闭夏令时功能

1.前言

在11.0的系统rom定制化开发中,在开发国际化项目中,对于有些地区执行夏令时,导致时间对不上,也有可能一个国家某些地区执行夏令时而一些国家不执行夏令时,导致时间不一样,所以为了避免麻烦,就关闭系统的夏令时功能,
夏令时会比正常时间晚一小时。这就需要分析时间差在哪,关闭掉就可以了

2.系统关闭时区夏令时功能的核心代码块部分

       bionic\libc\tzcode\bionic.cpp
       bionic\libc\tzcode\localtime.c
       libcore\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_unlocked() {

猜你喜欢

转载自blog.csdn.net/baidu_41666295/article/details/130458340