Android 13 QSSI和TARGET编译时间不一致导致recovery升级失败

环境

$ cat /etc/os-release

NAME="Ubuntu"

VERSION="20.04.4 LTS (Focal Fossa)"

ID=ubuntu

ID_LIKE=debian

PRETTY_NAME="Ubuntu 20.04.4 LTS"

VERSION_ID="20.04"

HOME_URL="https://www.ubuntu.com/"

SUPPORT_URL="https://help.ubuntu.com/"

BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"

PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"

VERSION_CODENAME=focal

UBUNTU_CODENAME=focal

调查过程

$ mgrep buildDateTime

./build/soong/ui/metrics/metrics_proto/metrics.pb.go:285: BuildDateTimestamp *int64 `protobuf:"varint,1,opt,name=build_date_timestamp,json=buildDateTimestamp" json:"build_date_timestamp,omitempty"`

./build/soong/ui/build/config.go:54: buildDateTime string

./build/soong/ui/build/config.go:417: buildDateTimeFile := filepath.Join(outDir, "build_date.txt")

./build/soong/ui/build/config.go:418: if buildDateTime, ok := ret.environ.Get("BUILD_DATETIME"); ok && buildDateTime != "" {

./build/soong/ui/build/config.go:419: ret.buildDateTime = buildDateTime

./build/soong/ui/build/config.go:421: ret.buildDateTime = strconv.FormatInt(time.Now().Unix(), 10)

./build/soong/ui/build/config.go:424: ret.environ.Set("BUILD_DATETIME_FILE", buildDateTimeFile)

./build/soong/ui/build/config.go:1388: return c.buildDateTime

./build/soong/ui/build/build.go:51: if buildDateTimeFile, ok := config.environ.Get("BUILD_DATETIME_FILE"); ok {

./build/soong/ui/build/build.go:52: err := ioutil.WriteFile(buildDateTimeFile, \[\]byte(config.buildDateTime), 0666) // a+rw

./build/soong/ui/build/upload_test.go:138: buildDateTime: strconv.FormatInt(time.Now().UnixNano()/int64(time.Millisecond), 10),

结论

编译target的时候

export BUILD_DATETIME=`cat QSSI.13/out/build_date.txt`

<完>

相关推荐
故渊at几秒前
第四板块:Android 输入系统与触控事件 | 第十六篇:按键分发与软键盘(IME)的窗口协同
android·软键盘·输入系统·触控事件·按键分发
故渊at1 分钟前
第三板块:Android 图形渲染与窗口体系 | 第十四篇:View 绘制体系与 RenderThread 异步渲染
android·图形渲染·ui线程·renderthread·view体系
suoyue_zhan2 分钟前
SQL经典案例之数据库的CTE递归循环使用
数据库·sql
Sammyyyyy4 分钟前
2026 Mac 本地大模型部署深度解析与混合架构指南
数据库·人工智能·macos·ai·架构·servbay
zhangjw348 分钟前
MySQL数据库零基础入门,数据库原理、SQL详解、库表操作、字段约束、基础查询全覆盖
数据库·sql·mysql
IT策士9 分钟前
Redis 从入门到精通:数据结构Set 与 Sorted
数据结构·数据库·redis
2401_873479409 分钟前
如何用IP离线库检测DNS隧道和C2通信?企业DNS安全防护指南
网络·数据库·tcp/ip·安全·ip
Coffeeee21 分钟前
准备升级到Android16,自适应布局应该如何适配
android·google·kotlin
填满你的记忆21 分钟前
10万QPS下,Redis缓存如何避免雪崩?
数据库·redis·缓存
神仙别闹24 分钟前
基于 PHP + MySQL 图书库存管理系统
android·mysql·php