当前位置: 首页 > news >正文

AOSP世界时间的更新

在 AOSP(Android Open Source Project)中,世界时间的更新主要涉及设备时区数据的管理和更新,以确保设备能够正确显示全球各地的时间。AOSP 依赖 IANA 时区数据库(也称为 tzdata)来提供时区规则和世界时间数据,而这些数据的更新通常通过系统模块(如 Mainline 模块)或固件更新实现。

1. AOSP 中世界时间的数据来源

AOSP 使用 IANA 时区数据库(tzdata)来管理世界时间和时区信息:

  • IANA tzdata:由国际互联网编号分配机构(IANA)维护的全球时区数据库,包含全球时区规则、夏令时变化、历史时区数据等。对时间和时区不够理解的可以查看这篇博文:Android时间相关的概念理解
  • 存储位置:在 AOSP 源码中,tzdata 文件通常位于 system/timezone 目录,并被编译到系统镜像(system.img)中的 /system/usr/share/zoneinfo/ 目录。
  • 内容:包括时区规则(如 Asia/Shanghai)、偏移量、夏令时(DST)切换时间等。

示例:/system/usr/share/zoneinfo/Asia/Shanghai 包含中国标准时间的规则(固定 UTC+8,无夏令时)。


2. 世界时间更新的机制

AOSP 中世界时间的更新主要通过以下方式实现:

(1) Mainline 模块更新(Android 10 及以上)MainLine简介
  • 背景:从 Android 10 开始,tzdata 被模块化为 APEX 模块com.android.tzdata),可以通过 Google Play 系统更新(Google Play System Updates)独立更新,而无需完整的 OTA 固件更新。
  • 更新流程
    1. Google 定期从 IANA 获取最新的 tzdata 数据。
    2. 编译为 com.android.tzdata APEX 模块,推送到设备。
    3. 设备通过 Google Play 系统更新下载并安装模块(存储在 /apex/com.android.tzdata)。
    4. 系统加载新的时区数据,应用到时间显示和计算。
  • 优点
    • 快速更新:无需等待 OEM 的完整固件更新。
    • 一致性:所有支持 Mainline 的设备使用相同的时区数据。
  • 限制
    • 仅 Android 10 及以上设备支持。
    • 需要 Google Play 服务支持,AOSP 纯净版设备可能无法直接获取。
(2) 系统固件更新(OTA)
  • 对于不支持 Mainline 模块的设备(例如 Android 9 或更早版本),tzdata 更新需要通过完整的系统固件更新(OTA):
    • OEM 或开发者将新的 tzdata 文件编译到 system.img 中。
    • 通过 OTA 推送更新,替换 /system/usr/share/zoneinfo/ 目录中的数据。
  • 缺点
    • 更新速度慢,依赖 OEM 的适配和推送。
    • 许多设备可能无法及时获取最新的时区数据。
(3) 手动更新(开发者或 Root 设备)
  • 开发者或高级用户可以通过手动替换 tzdata 文件更新时区数据:
    1. 从 IANA 官网(https://www.iana.org/time-zones)下载最新的 tzdata 文件。
    2. 编译或直接替换 /system/usr/share/zoneinfo/ 中的文件。
    3. 需要 Root 权限或修改系统分区,操作复杂且有风险。

3. 如何在 AOSP 中配置世界时间更新

(1) 单编
1. 下载最新的 IANA 时区数据
  • 操作
    • 打开 AOSP 源码的 system/timezone/input_data/iana/ 目录,查看当前 tzdata 版本(例如 tzdata2018e.tar.gztzdata2018e.tar.gz.asc)。
    • 访问 IANA 官网,下载对应版本或更新的 tzdata*.tar.gztzdata*.tar.gz.asc 文件。或者在AOSP的system/timezone下执行download-iana-files.py下载相关文件(需要能够访问外部网络)
  • 注意
    • 确保下载的版本与目标 Android 版本兼容(例如,Android 15 可能需要 tzdata2024a 或更新)。
    • .asc 文件是签名文件,用于验证 tzdata 的完整性。
2. 替换旧的时区数据
  • 操作
    • 将下载的 tzdata*.tar.gztzdata*.tar.gz.asc 放入 system/timezone/input_data/iana/ 目录。
    • 删除目录中旧版本的 tzdata 文件(例如 tzdata2018e.tar.gz)。
  • 注意
    • 备份旧文件以防出错。
    • 确保文件名和格式正确,避免编译错误。
3. 执行 update-tzdata.py 脚本
  • 操作
    • 设置 AOSP 编译环境:
      source build/envsetup.sh
      lunch aosp_divide-userdebug  # 替换为你的设备目标,例如 aosp_divide
      
    • 进入 system/timezone/ 目录:
      cd system/timezone
      
    • 运行 update-tzdata.py 脚本:
      python update-tzdata.py
      
  • 输出
    • 脚本会在以下目录生成更新后的文件:
      • system/timezone/output_data/iana/tzdata:最新的 IANA 时区数据库。
      • system/timezone/output_data/icu_overlay/icu_tzdata.dat:ICU 格式的时区数据。
      • external/icu/icu4c/source/data/misc/zoneinfo64.txt:ICU 时区元数据。
      • external/icu/icu4c/source/stubdata/icudt60l.dat:ICU 数据存根。
      • external/icu/icu4j/main/shared/data/icutzdata.jar:ICU Java 库的时区数据。
  • 注意
    • 确保 Python 环境正确(AOSP 通常使用 Python 2 或 3,视版本而定)。
    • 脚本会根据 input_data/iana/tzdata*.tar.gz 更新所有相关文件。
4. 重新编译 AOSP打包刷机
(2) 在谷歌的gerrit上下载更新

Google会定期更新世界时间因此只需要在谷歌的gerrit上下载即可
https://android-review.googlesource.com/q/message:TZDB
在这里插入图片描述
在这里插入图片描述
谷歌每次更新一般都是对这三个目录下的文件进行修改
system/timezone
external/icu
external/cldr
在这里插入图片描述
然后将这三个目录下的所有文件下载

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
通过git 将这三个目录下是所有内容全部clone下来。然后使用对比工具,和项目内部的进行逐一对比,进而更新项目内部的文件。

设置添加新的时区

修改packages/apps/Settings/res/xml-xx-xx/timezones.xml (xx-xx表示不同的语言和区域),添加下面的内容:

    <!-- timezones.xml 用于在setting中增加一个时区设置项 --><timezone id="Africa/Lagos">Lagos</timezone>

如果是多个国家和语言,则可以使用Android Studio 进行替换添加

可能会遇到的修改
修改NTP服务器地址 设备联网无法同步时间
在 frameworks/base/core/res/res/values/config.xml 文件中修改

	<string-array translatable="false" name="config_ntpServers"><item>ntp://time.android.com</item><item>ntp7.aliyun.com</item></string-array>

设置默认时区
在device下的mk文件中添加

PRODUCT_PROPERTY_OVERRIDES += persist.sys.timezone=Asia/Shanghai

相关文章:

AOSP世界时间的更新

在 AOSP&#xff08;Android Open Source Project&#xff09;中&#xff0c;世界时间的更新主要涉及设备时区数据的管理和更新&#xff0c;以确保设备能够正确显示全球各地的时间。AOSP 依赖 IANA 时区数据库&#xff08;也称为 tzdata&#xff09;来提供时区规则和世界时间数…...

Python + 链上数据可视化:让区块链数据“看得懂、用得上”

Python + 链上数据可视化:让区块链数据“看得懂、用得上” 区块链技术的透明性和去中心化特性,使得链上数据成为金融、供应链、NFT 以及 DeFi 领域的关键参考。可是,对于普通用户而言,链上数据往往晦涩难懂,难以直接利用。那么,如何利用 Python 提取、分析并直观展示链上…...

方德桌面操作系统V5.0-G23 vim无法复制粘贴内容

1.修改 Vim 配置文件 rootyuhua-virtualmachine:/etc/docker# sudo vim /usr/share/vim/vim82/defaults.vim 2.在第82行找到set mousea行&#xff0c;将其为set mouse-a。如果文件中没有set mousea&#xff0c;则修改添加set mouse-a。 3.保存文件并退出 Vim&#xff1a; 4…...

[linux] vim 乱码

1. 确保终端支持中文 设置终端编码为 UTF-8,运行: echo $LANG如果不是 UTF-8(如 en_US.UTF-8),你可以设置为: export LANG=zh_CN.UTF-8 export LC_ALL=zh_CN.UTF-8 2. 确保 Vim 使用 UTF-8 编码 打开 .vimrc 或输入以下命令: :set encoding=utf-8 :set fileencodin…...

天洑参加人工智能校企产学研及人才对接活动——走进南京大学人工智能学院

4月15日&#xff0c;人工智能校企产学研及人才对接——走进南京大学人工智能学院活动在南京大学成功举办。此次活动由江苏省人工智能学会、南京大学人工智能学院主办&#xff0c;江苏省工业和信息化厅党组成员、副厅长池宇&#xff0c;南京大学副校长周志华出席。江苏省工业和信…...

33、单元测试实战练习题

以下是三个练习题的具体实现方案&#xff0c;包含完整代码示例和详细说明&#xff1a; 练习题1&#xff1a;TDD实现博客评论功能 步骤1&#xff1a;编写失败测试 # tests/test_blog.py import unittest from blog import BlogPost, Comment, InvalidCommentErrorclass TestBl…...

《AI大模型应知应会100篇》第22篇:系统提示词(System Prompt)设计与优化

第22篇&#xff1a;系统提示词(System Prompt)设计与优化 摘要 在大语言模型&#xff08;LLM&#xff09;应用中&#xff0c;系统提示词&#xff08;System Prompt&#xff09;是控制模型行为的核心工具之一。它不仅定义了模型的身份、角色和行为规范&#xff0c;还直接影响输…...

【KWDB 创作者计划】_深度学习篇---松科AI加速棒

文章目录 前言一、简介二、安装与配置硬件连接驱动安装软件环境配置三、使用步骤初始化设备调用SDK接口检测设备状态:集成到AI项目四、注意事项兼容性散热固件更新安全移除五、硬件架构与技术规格核心芯片专用AI处理器内存配置接口类型物理接口虚拟接口能效比散热设计六、软件…...

【Quest开发】在虚拟世界设置具有遮挡关系的透视窗口

软件&#xff1a;Unity 2022.3.51f1c1、vscode、Meta XR All in One SDK V72 硬件&#xff1a;Meta Quest3 仅针对urp管线 参考了YY老师这篇&#xff0c;可以先看他的再看这个可能更好理解一些&#xff1a;Unity Meta Quest MR 开发&#xff08;七&#xff09;&#xff1a;使…...

Spark on K8s 在vivo大数据平台的混部实战

作者&#xff1a;vivo 互联网大数据团队- Qin Yehai 在离线混部可以提高整体的资源利用率&#xff0c;不过离线Spark任务部署到混部容器集群需要做一定的改造&#xff0c;本文将从在离线混部中的离线任务的角度&#xff0c;讲述离线任务是如何进行容器化、平台上的离线任务如何…...

Mac配置Java的环境变量

刚拿到手的Mac mini M4如何去设置java的环境变量&#xff1f; 第一步&#xff1a; 首先&#xff0c;你先下载好intelliJ IDEA&#xff0c;然后在里面自带的jdk列表里选择你自己想要使用的jdk的版本以及供应商。 下面是我自己使用的jdk版本以及供应商&#xff1a; 第二步&am…...

RPCRT4!OSF_CCONNECTION::OSF_CCONNECTION函数分析之创建一个RPCRT4!OSF_CCALL--RPC源代码分析

RPCRT4!OSF_CCONNECTION::OSF_CCONNECTION函数分析之创建一个RPCRT4!OSF_CCALL 第一部分&#xff1a; 1: kd> p RPCRT4!OSF_CCONNECTION::OSF_CCONNECTION0x167: 001b:77bf6957 393dec35c877 cmp dword ptr [RPCRT4!gfRPCVerifierEnabled (77c835ec)],edi 1: kd> …...

6、事件处理法典:魔杖交互艺术——React 19 交互实现

一、魔杖启灵&#xff1a;交互魔法的本质 "记住&#xff0c;巫师们&#xff01;魔杖的每一次挥动都是与魔法世界的对话&#xff0c;"麦格教授的魔杖在空中划出金色事件流&#xff0c;"React 19的useTransition如同时间转换器&#xff0c;让麻瓜设备也能感知魔杖…...

.net C# 使用Epplus库将Datatable导出到Excel合并首列

最近处理大量数据,需单独导出到首列名称一致的excel,Epplus免费,效率spire高,在Nuget添加Epplus。因为特殊原因,不能使用数据库,只能由数据源导出到excel;最终处理39万行输出到单独的excel文件时间2分钟。 一、EPPlus 基础介绍 ​EPPlus​ 是一个开源的 .NET 库(适用…...

【gpt生成-总览】怎样才算开发了一门编程语言,需要通过什么测试

开发一门真正的编程语言需要经历完整的设计、实现和验证过程&#xff0c;并通过系统的测试体系验证其完备性。以下是分阶段开发标准及测试方法&#xff1a; 一、语言开发核心阶段 1. 语言规范设计&#xff08;ISO/IEC 标准级别&#xff09; ​​语法规范​​&#xff1a;BNF/…...

网络417 路由转发2 防火墙

路由器临时开启路由转发功能 查看节点a网关ip 节点b网关 1.开启路由器路由转发功能。 2.配置到节点a 节点b的网络。 节点a因为和节点b不在同一网段&#xff0c;计划通过网关直达 网关就是中间节点路由器的ip地址 再Ping另一个 计划节点bping节点c ping不通 是因为 修改了…...

HttpSessionAttributeListener 的用法笔记250417

HttpSessionAttributeListener 的用法笔记250417 以下是关于 HttpSessionAttributeListener 的用法详解&#xff0c;涵盖核心方法、应用场景、实现步骤及关键注意事项&#xff0c;帮助您有效监听会话&#xff08;HttpSession&#xff09;中属性的动态变化&#xff1a; 1. 核心功…...

Spring Boot 实现 Excel 导出功能(支持前端下载 + 文件流)

&#x1f9e0; 一、为什么用 EasyExcel&#xff1f; 在 Java 开发中&#xff0c;操作 Excel 的框架主要有&#xff1a; Apache POI&#xff08;经典但慢、内存占用大&#xff09; JXL&#xff08;老旧不维护&#xff09; Alibaba EasyExcel&#xff08;阿里出品&#xff0c;…...

Java动态批量生成logback日志文件

应用场景举个例子&#xff1a; 当我一个服务需要启动n个端口&#xff0c;来监听n个来源的数据&#xff0c;并且处理数据逻辑一致&#xff1b;但是我想要它们的日志分开文件夹来打印&#xff0c;从而更好的分析问题&#xff0c;那么就可以用我下面提供的模版了&#xff1b; 动态…...

从原理到实践:NFS复杂故障处理方法论

#作者&#xff1a;孙德新 文章目录 一、nfs使用概述二、疑难故障现象描述三、原理分析四、解决方案五、优化服务器资源配置&#xff1a;六、故障案例总结七、故障预防建议八、nfs优化方法 一、nfs使用概述 NFS&#xff08;Network File System&#xff09;是一种分布式文件系…...

SAP FI固定资产报错:在折旧范围 30 中的业务与帐面净值规则冲突 - 解决方法

一、问题描述 消息号 AA660 诊断 由于和在区域30中检查的净帐面价值规则相反&#xff0c;不能过帐该凭证。 过程 当输入比例值时会出现此错误。比例值超过过帐金额&#xff0c;如 100 的后续资本化&#xff0c;但该金额的比例折旧为 110。请检查输入项并做需要的更正。 二、…...

Go语言从零构建SQL数据库(8):执行计划的奥秘

从SQL语句到高效查询&#xff1a;执行计划的奥秘 想象你是一位旅行者&#xff0c;想从北京到上海。你告诉导航软件你的目的地&#xff08;类似SQL查询&#xff09;&#xff0c;但导航软件需要为你规划具体路线——是走高速公路还是国道&#xff1f;是选择最短距离还是最省时间…...

UNet 改进(12):UNet with ECA (Efficient Channel Attention) 网络

详解 下面将详细解析这个实现了ECA注意力机制的UNet网络代码。 1. 代码概述 代码实现了一个带有Efficient Channel Attention (ECA)模块的UNet网络架构。 UNet是一种常用于图像分割任务的编码器-解码器结构网络,而ECA模块则是一种轻量级的通道注意力机制,可以增强网络对重…...

关于 AI驱动的智慧家居、智慧城市、智慧交通、智慧医疗和智慧生活 的详细解析,涵盖其定义、核心技术、应用场景、典型案例及未来趋势

以下是关于 AI驱动的智慧家居、智慧城市、智慧交通、智慧医疗和智慧生活 的详细解析&#xff0c;涵盖其定义、核心技术、应用场景、典型案例及未来趋势&#xff1a; 一、AI智慧家居 1. 定义与核心功能 定义&#xff1a;通过AI与物联网&#xff08;IoT&#xff09;技术&#…...

Windows11-24h2的任务栏时间显示秒 笔记250417

Windows11-24h2的任务栏时间显示秒 笔记250417 打开注册表编辑器 WinR输入 regedit 回车。 修改注册表项 定位到路径&#xff1a; HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced右键右侧空白处 → 新建【DWORD (32位)值】→ 命名为 ShowSec…...

机器学习的简单应用

什么是机器学习&#xff1f; 定义&#xff1a; ‌机器学习&#xff08;Machine Learning, ML&#xff09;‌ 是人工智能&#xff08;AI&#xff09;的一个子领域&#xff0c;其核心是 ‌通过算法让计算机从数据中自动学习规律&#xff0c;并基于这些规律对新数据做出预测或决策…...

双 Token 与 单 Token 优缺点

双Token与单Token认证机制对比 在Web应用开发中&#xff0c;身份认证和授权是保障系统安全的核心环节。随着技术演进&#xff0c;基于Token的认证机制逐渐取代传统Session方案&#xff0c;而双Token与单Token架构的选型争议也日益成为开发者关注的焦点。本文将从技术原理、优缺…...

第五章 SQLite数据库:6、SQLite 常用语法1

SQLite Insert 语句 SQLite 的 INSERT INTO 语句用于向数据库的某个表中添加新的数据行。 语法 INSERT INTO 语句有两种基本语法&#xff0c;如下所示&#xff1a; INSERT INTO TABLE_NAME [(column1, column2, column3,...columnN)] VALUES (value1, value2, value3,...…...

JVM考古现场(二十二):降维打击·用二向箔优化内存模型

"警报&#xff01;三维堆内存正在经历二维化坍缩&#xff01;" 我腰间的玄铁令突然震动&#xff0c;在蜀山剑派的量子剑阵中投射出诡异的曼德博分形——这是三体文明发动降维打击的铁证&#xff01; 楔子&#xff1a;二向箔奇点降临 昆仑镜监控日志&#xff1a; // …...

eclipse常用快捷键

Eclipse 是一款功能强大的 Java 集成开发环境&#xff08;IDE&#xff09;&#xff0c;熟练掌握其快捷键可以显著提高开发效率。下面是一些常用的 Eclipse 快捷键分类介绍&#xff1a; 编辑相关快捷键 操作快捷键说明内容辅助Alt /调出代码提示和自动补全功能&#xff0c;根…...

TAS(Thin-Agent服务)的先决条件与安装指南

TAS&#xff08;Thin-Agent服务&#xff09;的先决条件与安装指南 2.1 支持的操作系统 TAS支持以下操作系统环境&#xff1a; Windows 服务器 • Windows Server 2008 R2 SP1 • Windows Server 2012 R2 • Windows Server 2016 Linux 发行版 • Red Hat Enterprise Linux (RHE…...

无线uniapp调试设备

创作灵感来自某篇博客 uniapp安卓手机无线真机调试教程_uniapp无线真机调试-CSDN博客...

TAS启动与卸载

3. 启动TAS&#xff08;Thin-Agent服务&#xff09; TAS在安装完成后通常会自动启动&#xff0c;并在系统重启时自启。如需手动启动&#xff0c;请按以下步骤操作&#xff1a; &#xfffc; 3.1 在Windows上启动TAS 1. 打开 Windows服务管理器&#xff1a; ◦ 按下 Win R&…...

Oracle测试题目及笔记(多选)

所有题目来自于互联网搜索 在以下概要文件的陈述中&#xff0c;哪两个是正确的&#xff1f; &#xff08;D 和 E&#xff09; A&#xff0e; 概要文件不能被用来为账户加锁 B&#xff0e; 概要文件不能被用来控制资源使用 C&#xff0e; 数据库管理员可以使用概要文件更改用户密…...

定制化突围:遨游防爆手机的差异化竞争策略

在石油、化工、矿山等危险作业场景中&#xff0c;随着工业智能化与安全生产需求的升级&#xff0c;行业竞争逐渐从单一产品性能的比拼转向场景化解决方案的深度较量。遨游通讯以九重防爆标准为技术底座&#xff0c;融合多模稳控系统与全景前瞻架构&#xff0c;开辟出"千行…...

c#清理释放内存

虽然c#具有内存管理和垃圾回收机制&#xff0c;但是在arcobjects二次开发嵌入到arcgis data reviewet还会报内存错误。需要强制清理某变量内存方法如下: 1设置静态函数ReleaseCom函数 public static void ReleaseCom(object o) { try{System.Runtime.InteropServices.Marsh…...

从入门到精通【MySQL】 JDBC

文章目录 &#x1f4d5;1. 什么是JDBC&#x1f4d5;2. JDBC的使用原理&#x1f4d5;3. 使用JDBC具体步骤✏️3.1 标题获取MySQL驱动包并修改pom.xml文件✏️3.2 建立数据库连接✏️3.3 创建Statement✏️3.4 执行SQL语句✏️3.5 处理返回结果✏️3.6 释放资源和关闭连接 &#…...

Sigfox技术|独特的运营模式 + 超窄带技术 + 非授权频谱

在物联网&#xff08;IoT&#xff09;通信技术的快速发展中&#xff0c;低功耗广域网&#xff08;LPWAN&#xff09;成为了推动智能设备连接的重要基础技术之一。作为LPWAN中的一种专有通信协议&#xff0c;Sigfox以其低功耗和广覆盖的特点脱颖而出&#xff0c;在物联网应用中占…...

【Dify 前端源码解读系列】MDX 让 API 文档焕发生机

什么是 MDX? MDX 是一种强大的文档格式,它允许在 Markdown 内容中使用 JSX。这意味着你可以在 Markdown 的简洁语法中嵌入交互式组件,使文档不再局限于静态内容。MDX 完美地将 Markdown 的简单与 JSX 的灵活性结合在一起,特别适合需要丰富交互体验的文档场景。 MDX 的优势…...

docker能用来干什么的

最近项目像简快部署docker&#xff0c;但是发现源被隔离&#xff0c;暂时先记下&#xff0c;以后有机会再研究。 下面摘抄的网文网址如下&#xff1a;Docker能用来干什么的 ?_超级码客_海量程序员面试题库 | 笔试题库 | 面试求职考试神器 docker能用来干什么的 docker能用来做…...

dispaly: inline-flex 和 display: flex 的区别

display: inline-flex 和 display: flex 都是 CSS 中用于创建弹性盒子布局&#xff08;Flexbox&#xff09;的属性值&#xff0c;但它们之间有一些关键的区别&#xff0c;主要体现在元素如何在页面上被渲染和它们对周围元素的影响。 主要区别 1&#xff0c;块级 vs 行内块级 d…...

AI Agent系列(九) -Data Agent(数据分析智能体)

AI Agent系列【九】 前言一、Data Agent场景二、Data Agent核心因素2.1 数据源2.2 大模型2.3 应用及可视化 三、Data Agent应用场景 前言 Data Agent就是在大模型基础上构建一个数据分析的智能体&#xff0c;是一种基于人工智能技术&#xff0c;特别是大模型技术的数据分析智…...

【工具】视频翻译、配音、语音克隆于一体的一站式视频多语言转换工具~

Krillin AI 是全能型音视频本地化与增强解决工具。这款简约而强大的工具&#xff0c;集音视频翻译、配音、语音克隆于一身&#xff0c;支持横竖屏格式输出&#xff0c;确保在所有主流平台&#xff08;哔哩哔哩&#xff0c;小红书&#xff0c;抖音&#xff0c;视频号&#xff0c…...

api护照查验-GO国内护照查验接口-身份安全卫士

在全球化浪潮汹涌的当下&#xff0c;跨境电子商务蓬勃发展&#xff0c;国际旅游持续升温&#xff0c;留学热潮也未曾减退。在这些跨越国界的活动背后&#xff0c;护照作为国际旅行的关键凭证&#xff0c;其真伪核验的重要性愈发凸显。护照查验接口&#xff0c;宛如一颗璀璨的新…...

在 Tailwind CSS 中优雅地隐藏滚动条

在开发中&#xff0c;我们经常需要隐藏滚动条但保持滚动功能&#xff0c;这在构建现代化的用户界面时很常见。 本文将介绍两种在 Tailwind CSS 项目中实现这一目标的方法&#xff0c;方便同学们记录和查阅。 方法一&#xff1a;使用 tailwind-scrollbar-hide 插件 这是一种更…...

【C++】深入浅出之继承

目录 继承的概念及定义继承的定义继承方式和访问限定符protected与private的区别 默认继承方式继承类模板基类和派生类对象赋值兼容转换继承中的作⽤域(隐藏关系)相关面试题⭐ 派生类的默认成员函数⭐构造函数拷贝构造赋值重载析构函数 继承与友元继承与静态成员继承的方式菱形…...

Linux软件仓库

Linux常见软件包类型&#xff1a; dbdDebian家族及Ubuntu等基于Debian的Linux操作系统所使用的软件包管理格式rpmRed Hat Linux、Fedora、openSUSE、Mandriva和Mageia等使用的标准软件包管理格式源代码软件包一般为“.tar.gz”、“.tar.bz2”等格式的压缩包包含程序的原始代码…...

Git创建分支操作指南

1. 创建新分支但不切换&#xff08;仅创建&#xff09; git branch <分支名>示例&#xff1a;创建一个名为 new-feature 的分支git branch new-feature2. 创建分支并立即切换到该分支 git checkout -b <分支名> # 传统方式 # 或 git switch -c <分支名&g…...

从基础概念到前沿应用了解机器学习

一、机器学习基础概念 1.机器学习定义与核心价值 机器学习是人工智能的重要分支&#xff0c;通过算法让计算机系统能够从数据中自动学习并改进性能。其核心价值在于&#xff1a; 自动化决策&#xff1a;无需显式编程即可完成复杂任务 持续进化&#xff1a;随着数据积累不断…...

跨平台嵌入式音视频开发指南:EasyRTC音视频通话的多场景适配与AI扩展能力

在数字化通信技术飞速发展的今天&#xff0c;实时音视频通信已成为众多智能设备和应用的核心功能。从智能家居到远程办公&#xff0c;从在线教育到智能安防&#xff0c;音视频通信技术的应用场景不断拓展&#xff0c;对低延迟、高稳定性和跨平台兼容性的需求也在持续增长。在这…...