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`

<完>

相关推荐
_李小白4 小时前
【Android FrameWork】延伸阅读:SurfaceFlinger线程
android
JIngJaneIL5 小时前
基于springboot + vue古城景区管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
csdn12259873365 小时前
JetPack Compose 入门先搞清楚
android·compose·jetpack
微学AI5 小时前
复杂时序场景的突围:金仓数据库是凭借什么超越InfluxDB?
数据库
liang_jy6 小时前
Android LaunchMode
android·面试
廋到被风吹走6 小时前
【数据库】【Redis】定位、优势、场景与持久化机制解析
数据库·redis·缓存
阿里云云原生7 小时前
Android App 崩溃排查实战:如何利用 RUM 完整数据与符号化技术定位问题?
android·阿里云·云原生·rum
有想法的py工程师7 小时前
PostgreSQL + Debezium CDC 踩坑总结
数据库·postgresql
Nandeska7 小时前
2、数据库的索引与底层数据结构
数据结构·数据库
小卒过河01047 小时前
使用apache nifi 从数据库文件表路径拉取远程文件至远程服务器目的地址
运维·服务器·数据库