Loading tools/releasetools/common.py +4 −0 Original line number Diff line number Diff line Loading @@ -479,6 +479,10 @@ class BuildInfo(object): def vabc_compression_param(self): return self.get("virtual_ab_compression_method", "") @property def vabc_cow_version(self): return self.get("virtual_ab_cow_version", "") @property def vendor_api_level(self): vendor_prop = self.info_dict.get("vendor.build.prop") Loading tools/releasetools/ota_from_target_files.py +10 −0 Original line number Diff line number Diff line Loading @@ -908,6 +908,16 @@ def GenerateAbOtaPackage(target_file, output_file, source_file=None): source_info.vabc_compression_param, target_info.vabc_compression_param, source_info.vabc_compression_param)) vabc_compression_param = source_info.vabc_compression_param # Virtual AB Cow version 3 is introduced in Android U with improved memory # and install time performance. All OTA's with # both the source build and target build with VIRTUAL_AB_COW_VERSION = 3 # can support the new format. Otherwise, fallback on older versions if not source_info.vabc_cow_version or not target_info.vabc_cow_version: logger.info("Source or Target doesn't have VABC_COW_VERSION specified, default to version 2") OPTIONS.vabc_cow_version = 2 elif source_info.vabc_cow_version != target_info.vabc_cow_version: logger.info("Source and Target have different cow VABC_COW_VERSION specified, default to minimum version") OPTIONS.vabc_cow_version = min(source_info.vabc_cow_version, target_info.vabc_cow_version) # 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 Loading Loading
tools/releasetools/common.py +4 −0 Original line number Diff line number Diff line Loading @@ -479,6 +479,10 @@ class BuildInfo(object): def vabc_compression_param(self): return self.get("virtual_ab_compression_method", "") @property def vabc_cow_version(self): return self.get("virtual_ab_cow_version", "") @property def vendor_api_level(self): vendor_prop = self.info_dict.get("vendor.build.prop") Loading
tools/releasetools/ota_from_target_files.py +10 −0 Original line number Diff line number Diff line Loading @@ -908,6 +908,16 @@ def GenerateAbOtaPackage(target_file, output_file, source_file=None): source_info.vabc_compression_param, target_info.vabc_compression_param, source_info.vabc_compression_param)) vabc_compression_param = source_info.vabc_compression_param # Virtual AB Cow version 3 is introduced in Android U with improved memory # and install time performance. All OTA's with # both the source build and target build with VIRTUAL_AB_COW_VERSION = 3 # can support the new format. Otherwise, fallback on older versions if not source_info.vabc_cow_version or not target_info.vabc_cow_version: logger.info("Source or Target doesn't have VABC_COW_VERSION specified, default to version 2") OPTIONS.vabc_cow_version = 2 elif source_info.vabc_cow_version != target_info.vabc_cow_version: logger.info("Source and Target have different cow VABC_COW_VERSION specified, default to minimum version") OPTIONS.vabc_cow_version = min(source_info.vabc_cow_version, target_info.vabc_cow_version) # 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 Loading