Change how we set ro.product.first_api_level.
The goal of this change is to cause ro.product.first_api_level to be set in /system/build.prop in targets with PRODUCT_FULL_TREBLE=false (which may be the case for targets without the usual set of hardware interfaces, such as the mini targets being added in https://r.android.com/1966051). Setting ro.product.first_api_level is necessary for devices with newer kernels to boot because it controls which metadata encryption format is used, and an old format that is incompatible with new kernels is used by default (see commit 4073c0b5241b635cb59e9e8a75ddcc783b5a99ce in system/vold). There also appear to be e.g. bionic tests that check this property. So it seems reasonable to set it even if PRODUCT_FULL_TREBLE is false. To begin with, stop adding it to ADDITIONAL_SYSTEM_PROPERTIES. There's basically no point in adding it there because it will be filtered out by the property blocklist for the system partition, whether PRODUCT_FULL_TREBLE is true or false. This lets us remove the blocklist entry, which causes ro.product.first_api_level to appear in /system/build.prop via ADDITIONAL_VENDOR_PROPERTIES on PRODUCT_FULL_TREBLE=false targets. Bug: 217455793 Change-Id: I8c07baf9d308ea734ffed5d9b1776b60cdbf3435
Loading
Please register or sign in to comment