diff options
author | Felix <google@ix5.org> | 2019-10-20 02:04:04 +0200 |
---|---|---|
committer | Bruno Martins <bgcngm@gmail.com> | 2019-11-30 10:43:47 +0100 |
commit | a41c9222264bed1bd21b9df30ab6c05ef7f93b41 (patch) | |
tree | c10d2e412b803c5bb2b6b6ee55430f9c0fec4e14 | |
parent | 7c7ad3ae1e50abf6da0b8b3984dbd1f67c485192 (diff) | |
download | android_frameworks_base-a41c9222264bed1bd21b9df30ab6c05ef7f93b41.tar.gz android_frameworks_base-a41c9222264bed1bd21b9df30ab6c05ef7f93b41.tar.bz2 android_frameworks_base-a41c9222264bed1bd21b9df30ab6c05ef7f93b41.zip |
core/Build: ro.system when comparing fingerprint
ro.build.fingerprint is dynamically generated by deriveFingerprint(),
but its output does not match ro.{system,vendor}.build.fingerprint.
Fixes:
======
E Build : Mismatched fingerprints; system reported \
Sony/aosp_f8331/kagura:10/QP1A.191005.007/eng.builde.20191020.005112:user/test-keys \
but vendor reported Sony/aosp_f8331/kagura:10/QP1A.191005.007/builder10200050:user/test-keys
Example:
========
ro.system.build.fingerprint = Sony/aosp_f8331/kagura:10/QP1A.191005.007/builder10200050:user/test-keys
ro.build.fingerprint = Sony/aosp_f8331/kagura:10/QP1A.191005.007/eng.builde.20191020.005112:user/test-keys
The critical difference is that deriveFingerprint() inserts the value of
"ro.build.version.incremental", while the actual fingerprint produced by
build/make/core/Makefile is:
BUILD_FINGERPRINT := $(PRODUCT_BRAND)/$(TARGET_PRODUCT)/$(TARGET_DEVICE):\
$(PLATFORM_VERSION)/$(BUILD_ID)/$(BF_BUILD_NUMBER):$(TARGET_BUILD_VARIANT)/$(BUILD_VERSION_TAGS)
Where:
BF_BUILD_NUMBER := $(BUILD_USERNAME)$$($(DATE_FROM_FILE) +%m%d%H%M)
Fix:
====
Use ro.system.build.fingerprint instead, which will match
ro.vendor.build.fingerprint.
Test:
=====
make otapackage, flash, boot, verify no warning message is shown in UI.
Change-Id: Ie5e972047d7983b411004a3f0d67c4636a205162
Signed-off-by: Felix <google@ix5.org>
-rwxr-xr-x | core/java/android/os/Build.java | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/core/java/android/os/Build.java b/core/java/android/os/Build.java index 46692a47d42..7e97c138d0f 100755 --- a/core/java/android/os/Build.java +++ b/core/java/android/os/Build.java @@ -1081,7 +1081,7 @@ public class Build { return result == 0; } - final String system = SystemProperties.get("ro.build.fingerprint"); + final String system = SystemProperties.get("ro.system.build.fingerprint"); final String vendor = SystemProperties.get("ro.vendor.build.fingerprint"); final String bootimage = SystemProperties.get("ro.bootimage.build.fingerprint"); final String requiredBootloader = SystemProperties.get("ro.build.expect.bootloader"); @@ -1090,7 +1090,7 @@ public class Build { final String currentRadio = SystemProperties.get("gsm.version.baseband"); if (TextUtils.isEmpty(system)) { - Slog.e(TAG, "Required ro.build.fingerprint is empty!"); + Slog.e(TAG, "Required ro.system.build.fingerprint is empty!"); return false; } |