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`

<完>

相关推荐
松涛和鸣15 分钟前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
Mr_sun.27 分钟前
Day09——入退管理-入住-2
android·java·开发语言
likangbinlxa33 分钟前
【Oracle11g SQL详解】UPDATE 和 DELETE 操作的正确使用
数据库·sql
r i c k1 小时前
数据库系统学习笔记
数据库·笔记·学习
野犬寒鸦1 小时前
从零起步学习JVM || 第一章:类加载器与双亲委派机制模型详解
java·jvm·数据库·后端·学习
ujainu1 小时前
告别杂乱!Flutter + OpenHarmony 鸿蒙记事本的标签与分类管理(三)
android·flutter·openharmony
IvorySQL2 小时前
PostgreSQL 分区表的 ALTER TABLE 语句执行机制解析
数据库·postgresql·开源
常利兵2 小时前
Android内存泄漏:成因剖析与高效排查实战指南
android
·云扬·2 小时前
MySQL 8.0 Redo Log 归档与禁用实战指南
android·数据库·mysql
野生技术架构师2 小时前
SQL语句性能优化分析及解决方案
android·sql·性能优化