Disable verity for VABC updates on android R

Bug: 230277030
Test: th
Change-Id: I2872c490c852fb7d3784721e191ece80b4b1fd58
This commit is contained in:
Kelvin Zhang 2022-05-04 16:44:52 -07:00
parent c01930f7d7
commit a9a87ec204
2 changed files with 13 additions and 0 deletions

View file

@ -454,6 +454,11 @@ class BuildInfo(object):
vendor_prop.GetProp("ro.virtual_ab.compression.enabled") == "true"
return vabc_enabled
@property
def is_android_r(self):
system_prop = self.info_dict.get("system.build.prop")
return system_prop and system_prop.GetProp("ro.build.version.release") == "11"
@property
def is_vabc_xor(self):
vendor_prop = self.info_dict.get("vendor.build.prop")

View file

@ -1145,6 +1145,14 @@ def GenerateAbOtaPackage(target_file, output_file, source_file=None):
logger.info("Either source or target does not support VABC, disabling.")
OPTIONS.disable_vabc = True
# Virtual AB Compression was introduced in Androd S.
# Later, we backported VABC to Android R. But verity support was not
# backported, so if VABC is used and we are on Android R, disable
# verity computation.
if not OPTIONS.disable_vabc and source_info.is_android_r:
OPTIONS.disable_verity_computation = True
OPTIONS.disable_fec_computation = True
else:
assert "ab_partitions" in OPTIONS.info_dict, \
"META/ab_partitions.txt is required for ab_update."