aosp开发中,有一个集成fota逻辑,fota有版本号,但是系统定义自己的版本属性,怎样将两者同意呢?
一问题:
同事集成fota时,定义版本号,系统编译pac包时将版本号作为pac文件名,为了升级维护方便,怎样将两者统一呢?
二代码
fota升级代码
目录:POCft18/device/sprd/qogirn6l/ums9158_1h10/product/ums9158_1h10_native/var.mk
Date: Sat Dec 7 11:05:24 2024 +0800添加FOTA属性,编译艾拉比和飞图OTAChange-Id: I748cecf63f5f240e28848cd040659ea1d7f01c43diff --git a/ums9158_1h10/product/ums9158_1h10_native/var.mk b/ums9158_1h10/product/ums9158_1h10_native/var.mk
index 3d84561..964b46e 100755
--- a/ums9158_1h10/product/ums9158_1h10_native/var.mk
+++ b/ums9158_1h10/product/ums9158_1h10_native/var.mk
@@ -27,3 +27,28 @@ $(call md-set, SKIP_Widevine_L1, true)SKIP_SSI_AUDIT := true#Close wfd$(call md-set, SKIP_WIFI_DISPLAY, true)
+
+#add FOTA application
+PRODUCT_PACKAGES += Abupdate \
+ FlyUpdate \
+ iflyIME \
+
+#FOTA属性,ro.fota.os和ro.fota.projectid 为飞图平台专用
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.fota.platform=UMS9158 \
+ ro.fota.type=telephone \
+ ro.fota.oem=SPRD \
+ ro.fota.device=UMS9158_1H10 \
+ ro.fota.os = Android13 \
+ ro.fota.projectid = project_fa092e466d40463ba3c5b9876ade79d9
+
+
+cur_time := $(shell date +"%Y%m%d%H%M")
+$(warning cur_time=$(cur_time))
+ifeq ($(TARGET_BUILD_VARIANT),user)
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.fota.version=UMS9158_1H10_R_${cur_time}
+else
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.fota.version=UMS9158_1H10_D_${cur_time}
+endif
以上是集成fota配置,
版本号定义:
目录:POCft18/build/core/sysprop.mk
Date: Thu Jan 16 10:09:11 2025 +0800修改设置-关于手机-版本号显示Change-Id: Ic9ddf1723f55f1a1061f2983e1fea5b1f8071d32diff --git a/core/sysprop.mk b/core/sysprop.mk
index a9872847f..2c961f767 100755
--- a/core/sysprop.mk
+++ b/core/sysprop.mk
@@ -219,13 +219,13 @@ ifeq ($(TARGET_BUILD_VARIANT),user)# Dev. branches should have DISPLAY_BUILD_NUMBER setifeq (true,$(DISPLAY_BUILD_NUMBER))
- BUILD_DISPLAY_ID := $(BUILD_ID).$(BUILD_NUMBER_FROM_FILE) $(BUILD_KEYS)
+ BUILD_DISPLAY_ID := F6_GW_V1.0_D_$(shell date +%Y%m%d)_ $(BUILD_KEYS)else
- BUILD_DISPLAY_ID := $(BUILD_ID) $(BUILD_KEYS)
+ BUILD_DISPLAY_ID := F6_GW_V1.0_R_$(shell date +%Y%m%d)_$(BUILD_KEYS)endifelse# Non-user builds should show detailed build information
- BUILD_DISPLAY_ID := $(BUILD_DESC)
+ BUILD_DISPLAY_ID := F6_GW_V1.0_D_$(shell date +%Y%m%d)_ $(BUILD_KEYS)endif
以上是版本号设置(设置pac名称)
三解决方案:
我们看到上面的fota声明和pac包名称在不同的目录下,但是想编译时让他们统一,
解决方案:
Date: Thu Jun 5 18:52:02 2025 +0800 定义fota version获取值 Change-Id: Ie81b6d351a2979aea0375e5195d70b6b85eb92cb diff --git a/core/sysprop.mk b/core/sysprop.mk
index c34a746af..cc6af26d7 100755
--- a/core/sysprop.mk
+++ b/core/sysprop.mk # ----------------------------------------------------------------- # property_overrides_split_enabled property_overrides_split_enabled :=
diff --git a/tools/buildinfo.sh b/tools/buildinfo.sh
index 5da4ecb09..372e34c6f 100755
--- a/tools/buildinfo.sh
+++ b/tools/buildinfo.sh
@@ -10,6 +10,7 @@ else echo "ro.build.id=$BUILD_ID" fi echo "ro.build.display.id=$BUILD_DISPLAY_ID"
+echo "ro.fota.version=$BUILD_DISPLAY_ID" echo "ro.build.version.incremental=$BUILD_NUMBER" echo "ro.build.version.sdk=$PLATFORM_SDK_VERSION" echo "ro.build.version.preview_sdk=$PLATFORM_PREVIEW_SDK_VERSION"
如上解决