Add a flag to skip compatibility check
This serves as a workaround to skip the compatibility check for devices
with incompatible kernels.
Bug: 114240221
Test: generate and check the OTA package for wear device
Change-Id: I65b523a66648af7a77fc3ea79176764fe8ae8d02
diff --git a/tools/releasetools/ota_from_target_files.py b/tools/releasetools/ota_from_target_files.py
index 4336cb3..82bcdce 100755
--- a/tools/releasetools/ota_from_target_files.py
+++ b/tools/releasetools/ota_from_target_files.py
@@ -71,6 +71,9 @@
partitions but the target build does. For A/B, when this flag is set,
--skip_postinstall is implied.
+ --skip_compatibility_check
+ Skip adding the compatibility package to the generated OTA package.
+
Non-A/B OTA specific options
-b (--binary) <file>
@@ -221,6 +224,7 @@
OPTIONS.key_passwords = []
OPTIONS.skip_postinstall = False
OPTIONS.retrofit_dynamic_partitions = False
+OPTIONS.skip_compatibility_check = False
METADATA_NAME = 'META-INF/com/android/metadata'
@@ -750,6 +754,11 @@
if not HasTrebleEnabled(target_zip, target_info):
return
+ # Skip adding the compatibility package as a workaround for b/114240221. The
+ # compatibility will always fail on devices without qualified kernels.
+ if OPTIONS.skip_compatibility_check:
+ return
+
# Full OTA carries the info for system/vendor both.
if source_info is None:
AddCompatibilityArchive(True, True)
@@ -2032,6 +2041,8 @@
OPTIONS.skip_postinstall = True
elif o == "--retrofit_dynamic_partitions":
OPTIONS.retrofit_dynamic_partitions = True
+ elif o == "--skip_compatibility_check":
+ OPTIONS.skip_compatibility_check = True
else:
return False
return True
@@ -2063,6 +2074,7 @@
"extracted_input_target_files=",
"skip_postinstall",
"retrofit_dynamic_partitions",
+ "skip_compatibility_check",
], extra_option_handler=option_handler)
if len(args) != 2: