com.google.android.conscrypt is not valid for this
usage as S-OS can have a compressed target by default
(e.g com.google.android.conscrypt_compressed)
Same change applied to com.google.android.art check
Also modify to check `true` value of the MODULE_BUILD_FROM_SOURCE
to filter out both unset variable and `false`
Test: adding one error code temporally, install prebuilt
train, and check result with,without this fix
MODULE_BUILD_FROM_SOURCE := true
+ $(error we are here, true $(PRODUCT_PACKAGES))
endif
Bug: 197282276
Change-Id: I864ba1bb5da61ccc6b8576029ab6c569959b2c93
This reverts commit 61275cd338.
Reason for revert: SPL bump no longer necessary due to ATT FRC respin
Bug: 193547118
Change-Id: I1df0e12d50471b518653ff865637193bd7ed9101
(This is a cherrypick of aosp/1788549)
This flag will be selectively added to build targets if necessary
Bug: 193569756
Test: m nothing
Merged-In: Ie0fd898b03aa91322dddd9137b038031d46c8d24
Change-Id: Ie0fd898b03aa91322dddd9137b038031d46c8d24
S was finalized, it shouldn't be listed as an active codename any
more.
Bug: 193674948
Test: treehugger
Change-Id: I4cce94b0ea4865a5248ab106edce8fa165390005
Merged-In: Ie5ee4479ba98b9f4525b36e38493879a15661905
_prop_files is missing a trailing _
Bug: 195034733
Test: manual - check that expected prop files are in the image
Change-Id: Ie042acc74fa56d5515cacd5f41ddc0f82d74f20c
Merged-In: Ie042acc74fa56d5515cacd5f41ddc0f82d74f20c
boot-test-harness.img is used to allow adb root on user build
images. It also sets properties: ro.audio.silent=1 & ro.test_harness=1.
GKI 2.0 devices will use BOARD_PREBUILT_BOOTIMAGE so
boot-test-harness.img will not be generated.
Therefore, we have to introduce the vendor_boot-test-harness.img
as an alternative for boot-test-harness.img.
In the future, we'll simplify the flow as:
+ If a device has a /vendor_boot partition, builds
vendor_boot-(test-harness|debug).img.
+ Otherwise, builds boot-(test-harness|debug).img.
boot-(test-harness|debug).img needs to be kept for some clients
to gracefully transit to using vendor_boot-(test-harness|debug).img.
Bug: 194654549
Test: make then `unpack_bootimg --boot_img $OUT/vendor_boot-test-harness.img`
Test: Check the ramdisk content in ./out/vendor_ramdisk
Change-Id: If3a1393b4ff3e69bb9b62f3b843b7858437d47bf
Merged-In: If3a1393b4ff3e69bb9b62f3b843b7858437d47bf
(cherry picked from commit 87f60017b964997e877c8c322f6228c08dcb81ff)
Using prebuilts of the ART Module seems to make
`COMPATIBILITY.art-host-tests.HOST_SHARED_LIBRARY.FILES` empty on
x86 targets, thus breaking the `art-host-tests` build target. As
a workaround, relax the corresponding build rule to allow for an
empty `COMPATIBILITY.art-host-tests.HOST_SHARED_LIBRARY.FILES`
list.
(cherry picked from commit 4d9d0aa86c67108b481cc9353067300fa33c1a74)
Test: lunch cf_x86_phone-userdebug
&& SOONG_CONFIG_art_module_source_build=false m art-host-tests
Bug: 194627489
Change-Id: I9e885be3c7161f6f09a93b3d32339a5a6e57d2a1
Merged-In: I9e885be3c7161f6f09a93b3d32339a5a6e57d2a1
Prebuilt modules do not provide sanitizer binaries to using them in this
context is unsafe.
Bug: 194067130
Test: TH
Change-Id: I3682ae9ad963a8cd13bb395fe84dae515dc6d30f
Change I4e5adc3f42a5 alone would break hikey build, which
is a non-A/B device with a boot image, but without recovery.
Do not build OTA in this case.
Test: lunch hikey && m dist
Fixes: 194018054
Bug: 193588301
Change-Id: I8d09ad5c62d44699eb910ff62d32044bd97e8e44
Merged-In: I8d09ad5c62d44699eb910ff62d32044bd97e8e44
On devices with a prebuilt boot image, TARGET_NO_KERNEL
may be set to enable signing, etc. In this case we still
want to build the OTA package.
Test: m otapackage on a device with generic boot image
(where TARGET_NO_KERNEL is set)
Bug: 193588301
Change-Id: I4e5adc3f42a516ac0e2f66c313dbe34a469ebe05
Merged-In: I4e5adc3f42a516ac0e2f66c313dbe34a469ebe05
On devices with prebuilt generic boot image:
TARGET_NO_KERNEL := true
BOARD_PREBUILT_BOOTIMAGE is set
In this case, the process for extracting the kernel
config and version must also try extracting from the
prebuilt boot image.
Test: build on device with prebuilt boot image
Fixes: 193588301
Change-Id: I43dd8e206bcd1c9f3f5f51869f126791c50af01a
Merged-In: I43dd8e206bcd1c9f3f5f51869f126791c50af01a
This means prebuilts located in
/vendor/unbundled_google/modules/ArtGooglePrebuilt and
/prebuilts/module_sdk/art are used instead of sources in /art,
/libcore, and /libnativehelper.
Sanitizer and coverage builds builds are excluded, as are builds using
the products art_module_*, armv8, arm_krait, and others in
device/generic/art.
To keep using ART and libcore sources in local builds, set
SOONG_CONFIG_art_module_source_build=true. See art/build/README.md for
further info.
This http://ag/15200786 after fixing various build issues (see tests).
Using DO NOT MERGE to limit presubmit use to the branches for which
prebuilts were updated in http://ag/15189174 and http://ag/15200785.
Test: Heavy presubmits on build_test{,2,3,4} and flame-userdebug
Test: Heavy presubmit on mainline_modules-userdebug on sc-mainline-prod
Bug: 192542393
Change-Id: Id6800fe3564149e6c555b5f68a41b01e9c7dff3f
This means prebuilts located in
/vendor/unbundled_google/modules/ArtGooglePrebuilt and
/prebuilts/module_sdk/art are used instead of sources in /art,
/libcore, and /libnativehelper.
Sanitizer and coverage builds builds are excluded, as are builds using
the products art_module_*, armv8, arm_krait, and others in
device/generic/art.
To keep using ART and libcore sources in local builds, set
SOONG_CONFIG_art_module_source_build=true. See art/build/README.md for
further info.
This relands http://ag/13552665 after updating ART prebuilts
(ag/15189174, ag/15200785). Using DO NOT MERGE to have the same scope
as they do.
Test: presubmits
Test: vendor/google/build/build_mainline_modules.sh
with a line
build/soong/soong_ui.bash --dumpvar-mode \
SOONG_CONFIG_art_module_source_build
directly before the module build commands in
build_unbundled_mainline_module.sh and check that it's still true.
Bug: 192542393
Change-Id: I6281ef27bf9cdcb2ad5112b8a0932e4201d69dc2
This reverts commit efab03ff61.
Reason for revert: Breaks sc-dev builds.
Merged-In set to http://ag/15107826 to avoid merging downstream.
Bug: 192558747
Change-Id: Id17caafee41b5aed65b5b294c729a548379aa41a
Merged-In: I8990b726affeb08eabf130d20be45129a7c1c58d
This means prebuilts located in
/vendor/unbundled_google/modules/ArtGooglePrebuilt and
/prebuilts/module_sdk/art are used instead of sources in /art,
/libcore, and /libnativehelper.
Sanitizer and coverage builds builds are excluded, as are builds using
the products art_module_*, armv8, arm_krait, and others in
device/generic/art.
To keep using ART and libcore sources in local builds, set
SOONG_CONFIG_art_module_source_build=true. See art/build/README.md for
further info.
Merged-In set to http://ag/15107826 to avoid merging downstream.
Test: presubmits
Test: vendor/google/build/build_mainline_modules.sh
with a line
build/soong/soong_ui.bash --dumpvar-mode \
SOONG_CONFIG_art_module_source_build
directly before the module build commands in
build_unbundled_mainline_module.sh and check that it's still true.
Bug: 192542393
Merged-In: I8990b726affeb08eabf130d20be45129a7c1c58d
Change-Id: Id719640d17effca107af82de69e45514bf3bd234
Revert "Add install_in_root to cc_binary"
Revert "Add ramdisk_available to init_first_stage's deps"
Revert submission 15071196-init_first_stage_soong
Reason for revert: fixes b/192248690
Reverted Changes:
I23cf4f975:Add ramdisk_available to init_first_stage's deps
Icd98c7e24:Add ramdisk_available to init_first_stage's deps
If9da9ba16:Add ramdisk_available to init_first_stage's deps
Ibc8668029:Add ramdisk_available to init_first_stage's deps
I3b4b8c475:Add ramdisk_available to init_first_stage's deps
I59cd149e0:Completely migrate init first stage to Soong
I36d789578:Add ramdisk_available to init_first_stage's deps
I2a0daa612:Add BUILD_USES_RECOVERY_AS_BOOT to soong config
Ic76c325ce:Directly create ramdisk dirs in ramdisk image rule...
I4c5374deb:Add BOARD_BUILD_SYSTEM_ROOT_IMAGE to config vars
I8aab5faf3:Add ramdisk_available to init_first_stage's deps
I9d5a10661:Add ramdisk_available to init_first_stage's deps
Iaa2edeb4a:Add ramdisk_available to init_first_stage's deps
I7cb582ca0:Update init_first_stage
I06091d15e:Add ramdisk_available to init_first_stage's deps
I8bdb8dda3:Add ramdisk_available to init_first_stage's deps
I7436b8dd1:Add ramdisk_available to init_first_stage's deps
I39693fd86:Add ramdisk_available to init_first_stage's deps
I0a9ba90f0:Add ramdisk_available to init_first_stage's deps
Ib66b4c4ea:Add ramdisk_available to init_first_stage's deps
I31ce63d23:Add ramdisk_available to init_first_stage's deps
Icb580f97c:Add ramdisk_available to init_first_stage's deps
I044a075b7:Add ramdisk_available to init_first_stage's deps
I33164a7e7:Fix ndk and aml arch order
Ib8d92904a:Add ramdisk_available to sysprop_library
Ibc3516453:Add install_in_root to cc_binary
Change-Id: Ic72702cf9d48367b3de30cf29f68a7e8fb0040ce
Revert "Add install_in_root to cc_binary"
Revert "Add ramdisk_available to init_first_stage's deps"
Revert submission 15071196-init_first_stage_soong
Reason for revert: fixes b/192248690
Reverted Changes:
I23cf4f975:Add ramdisk_available to init_first_stage's deps
Icd98c7e24:Add ramdisk_available to init_first_stage's deps
If9da9ba16:Add ramdisk_available to init_first_stage's deps
Ibc8668029:Add ramdisk_available to init_first_stage's deps
I3b4b8c475:Add ramdisk_available to init_first_stage's deps
I59cd149e0:Completely migrate init first stage to Soong
I36d789578:Add ramdisk_available to init_first_stage's deps
I2a0daa612:Add BUILD_USES_RECOVERY_AS_BOOT to soong config
Ic76c325ce:Directly create ramdisk dirs in ramdisk image rule...
I4c5374deb:Add BOARD_BUILD_SYSTEM_ROOT_IMAGE to config vars
I8aab5faf3:Add ramdisk_available to init_first_stage's deps
I9d5a10661:Add ramdisk_available to init_first_stage's deps
Iaa2edeb4a:Add ramdisk_available to init_first_stage's deps
I7cb582ca0:Update init_first_stage
I06091d15e:Add ramdisk_available to init_first_stage's deps
I8bdb8dda3:Add ramdisk_available to init_first_stage's deps
I7436b8dd1:Add ramdisk_available to init_first_stage's deps
I39693fd86:Add ramdisk_available to init_first_stage's deps
I0a9ba90f0:Add ramdisk_available to init_first_stage's deps
Ib66b4c4ea:Add ramdisk_available to init_first_stage's deps
I31ce63d23:Add ramdisk_available to init_first_stage's deps
Icb580f97c:Add ramdisk_available to init_first_stage's deps
I044a075b7:Add ramdisk_available to init_first_stage's deps
I33164a7e7:Fix ndk and aml arch order
Ib8d92904a:Add ramdisk_available to sysprop_library
Ibc3516453:Add install_in_root to cc_binary
Change-Id: I2fe09d7a44567f5f3cfd08c89a60e9e94e8fe0e3
Revert "Add install_in_root to cc_binary"
Revert "Add ramdisk_available to init_first_stage's deps"
Revert submission 15071196-init_first_stage_soong
Reason for revert: fixes b/192248690
Reverted Changes:
I23cf4f975:Add ramdisk_available to init_first_stage's deps
Icd98c7e24:Add ramdisk_available to init_first_stage's deps
If9da9ba16:Add ramdisk_available to init_first_stage's deps
Ibc8668029:Add ramdisk_available to init_first_stage's deps
I3b4b8c475:Add ramdisk_available to init_first_stage's deps
I59cd149e0:Completely migrate init first stage to Soong
I36d789578:Add ramdisk_available to init_first_stage's deps
I2a0daa612:Add BUILD_USES_RECOVERY_AS_BOOT to soong config
Ic76c325ce:Directly create ramdisk dirs in ramdisk image rule...
I4c5374deb:Add BOARD_BUILD_SYSTEM_ROOT_IMAGE to config vars
I8aab5faf3:Add ramdisk_available to init_first_stage's deps
I9d5a10661:Add ramdisk_available to init_first_stage's deps
Iaa2edeb4a:Add ramdisk_available to init_first_stage's deps
I7cb582ca0:Update init_first_stage
I06091d15e:Add ramdisk_available to init_first_stage's deps
I8bdb8dda3:Add ramdisk_available to init_first_stage's deps
I7436b8dd1:Add ramdisk_available to init_first_stage's deps
I39693fd86:Add ramdisk_available to init_first_stage's deps
I0a9ba90f0:Add ramdisk_available to init_first_stage's deps
Ib66b4c4ea:Add ramdisk_available to init_first_stage's deps
I31ce63d23:Add ramdisk_available to init_first_stage's deps
Icb580f97c:Add ramdisk_available to init_first_stage's deps
I044a075b7:Add ramdisk_available to init_first_stage's deps
I33164a7e7:Fix ndk and aml arch order
Ib8d92904a:Add ramdisk_available to sysprop_library
Ibc3516453:Add install_in_root to cc_binary
Change-Id: I5e1d58bdb3ebff7125b64a8f2e940f7d203dac74
This is a workaround for the problem that we cannot control from make
which APEX gets picked for deapexing.
Test: env TARGET_PRODUCT=aosp_cf_x86_64_phone \
SOONG_CONFIG_art_module_source_build=false \
build/soong/soong_ui.bash \
--dumpvar-mode SOONG_CONFIG_art_module_source_build
This shows true
Test: env TARGET_PRODUCT=cf_x86_64_phone \
SOONG_CONFIG_art_module_source_build=false \
build/soong/soong_ui.bash \
--dumpvar-mode SOONG_CONFIG_art_module_source_build
This shows false
Bug: 192006406
Bug: 172480615
Change-Id: I8990b726affeb08eabf130d20be45129a7c1c58d
When set, module builds will prefer source where applicable.
Bug: 191978129
Test: m; MODULE_BUILD_FROM_SOURCE=true m
Change-Id: Ie7f928674a511a98f17653fa814a42194ee0e9f9
Merged-In: Ie7f928674a511a98f17653fa814a42194ee0e9f9
Bug: 158843648
Test: check if dexpreopt config for the module defined in mk has
DexPreoptImageLocationsOnDevice field.
Change-Id: Ie8c7b1c8c5a6797f71920d9ce671dde0e1f489a3
Merged-In: Ie8c7b1c8c5a6797f71920d9ce671dde0e1f489a3
(cherry picked from commit 242c4362428a6e0e0093cc739c7f730e73f87af1)
These directories have been created with post install cmds of
init_first_stage. To migrate init_first_stage to Soong, the directory
rules are now written directly in ramdisk image rule.
Bug: 187196593
Test: "m installclean; m" and see ramdisk output
Change-Id: Ic76c325ce102347f20b282572e3edbb5b4359aaf
Merged-In: Ic76c325ce102347f20b282572e3edbb5b4359aaf
It'll be used from init_first_stage.
Bug: 187196593
Test: build
Change-Id: I4c5374debd56fbf9d11b456498835a9c411d01d6
Merged-In: I4c5374debd56fbf9d11b456498835a9c411d01d6
This reverts commit 2e43e34d53.
The kernel bootconfig feature has been updated to handle mixed subkeys
and values, so androidboot.hardware is ok to use now.
Test: build and boot cuttlefish with 'hardware=cutf_vm'
Test: build and boot cuttlefish with 'androidboot.hardware=cutf_vm'
Bug: 191502832
Merged-In: I7c3f330a73abe6cf1fb7d14aaaa6cbc3e874a4aa
Change-Id: I7c3f330a73abe6cf1fb7d14aaaa6cbc3e874a4aa
The droidcore-unbundled target replaces the droidcore
target when TARGET_BUILD_UNBUNDLED_IMAGE=true. This
target is similar to droidcore in terms of dependencies,
but it has a smaller set of dist files. The intention is
to use TARGET_BUILD_UNBUNDLED_IMAGE=true with a
VSDK-using vendor build to supply Java dependencies from
prebuilts to avoid building (or needing) Java framework
sources.
Test: build with and without TARGET_BUILD_UNBUNDLED_IMAGE=true
Test: m nothing dist (before patch)
Test: m nothing dist (after patch)
Test: m nothing dist TARGET_BUILD_UNBUNDLED_IMAGE=true (after patch)
Test: examine ninja build graph for previous 3 tests
Bug: 188176942
Bug: 187064252
Change-Id: Ia7f8200c1bb1aaaa57c177d1698a114efe26bec7
(cherry picked from commit 0a30cc41bc8acd25058d9751a75184cb9504b93b)
This prop is owned by OEM, OEM can set this if they want to disable
VABC.
Test: m dist, make sure generated OTA has VABC disabled
Bug: 185400304
Change-Id: Iceb2fb1f399d38a51722352a86ddf68af05fa24e
Merged-In: Iceb2fb1f399d38a51722352a86ddf68af05fa24e
In the case of unbundled build, the module in vendor should use
system(_ext) module by prebuilt one. But RRO depends on system module
directly depending on some conditions(packages exporting resources)
In this change,
1. Temporarily make LOCAL_RES_LIBRARIES empty(For now, auto generated
RRO doesn't use overlaid package's resources), enable it when prebuilts
are ready.
2. According to (1), its SDK_VERSION can be current)
Bug: 187404676
Test: TARGET_BUILD_UNBUNDLED_IMAGE m vendorimage, and check if there is
no build error regarding RRO.
Change-Id: I94e3122372dd20c942b2c858070a6ca797312792
Merged-In: I94e3122372dd20c942b2c858070a6ca797312792
(cherry picked from commit f93c13d51bff2478d4bcf48c808bc78a5ce0b989)
Disable the generation of .config file when the variable
LOCAL_DISABLE_TEST_CONFIG is true.
Bug: 188927912
Test: rum 'm module-name' (`android_test_helper_app` type module)
Test: TreeHugger
Change-Id: I64372b4ba84fcf1af937abdee345ceb1d3c2f6c5
Merged-In: I64372b4ba84fcf1af937abdee345ceb1d3c2f6c5
For VAB launched device, factory OTA will write system_other
partition to the super image. So we want to check that
sum(dynamic partitions) + system_other + overhead <= super at
build time.
Since we don't know the overhead at build time, we might instead
check sum(all partitions) < super.
Bug: 185809374
Test: m check-all-partition-sizes, unittests
Change-Id: Ia7ba5999d23924a1927e9a9463856a4d0ea90c20
Merged-In: Ia7ba5999d23924a1927e9a9463856a4d0ea90c20
(cherry-picked from commit 294ec7d9e5298d91768e0f2e9abe4cc7de180fe1)
Change-Id: I479d1b399a1639b595ae5d7f1481c771a3439e51
BUILD_HOST_EXECUTABLE modules are substantially deprecated, but some
partners are still using them for their bits with the workaround
provided in the product definition. This fixes a build error where
the host module doesn't have a linkable ELF note archive.
MTE is not intended for host modules, and it's fine for us to say
"host module using AndroidMk - no MTE for you" if this changes.
Bug: 189330992
Test: Manually tested using a BUILD_HOST_EXECUTABLE module.
Change-Id: Ifedff39f2f03c08bfb644221d2ab1b88e635c8a3
Merged-In: Ifedff39f2f03c08bfb644221d2ab1b88e635c8a3
Devices using GKI architecture will use a prebuilt boot.img.
However, we should still sign this prebuilt boot.img with
device-specific AVB keys.
Steps to test the CL.
1. In a device BoardConfig.mk:
# Uses a prebuilt boot.img
TARGET_NO_KERNEL := true
BOARD_PREBUILT_BOOTIMAGE := device/google/redbull/boot.img
# Enable chained vbmeta for the boot image.
# The following can be absent, where the hash descriptor of the
# 'boot' partition will be stored then signed in vbmeta.img instead.
BOARD_AVB_BOOT_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem
BOARD_AVB_BOOT_ALGORITHM := SHA256_RSA4096
BOARD_AVB_BOOT_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
BOARD_AVB_BOOT_ROLLBACK_INDEX_LOCATION := 2
2. `make bootimage`, then `avbtool info_image --image $OUT/boot.img`,
checks the image is re-signed with a device-specific key
3. `make dist` to generate out/dist/TF.zip
4. `unzip out/dist/TF.zip IMAGES/boot.img`
5. `avbtool info_image --image out/dist/IMAGES/boot.img`,
checks the image is re-signed with a device-specific key
6. `sign_target_files_apks \
--avb_boot_key=external/avb/test/data/testkey_rsa8192.pem \
--avb_boot_algorithm=SHA256_RSA8192 \
--avb_boot_extra_args="--prop test:sign" \
./out/dist/*-target_files-eng.*.zip signed.zip`, resign the TF.zip
7. `unzip signed.zip IMAGES/boot.img`, then use `avbtool info_image` to
check the boot.img is re-signed with the --avb_boot_key in step 6.
Bug: 188485657
Test: above steps
Change-Id: I7ee8b3ffe6a86aaca34bbb7a8898a97b3f8bd801
Merged-In: I7ee8b3ffe6a86aaca34bbb7a8898a97b3f8bd801
(cherry picked from commit cf9ead8972dd2b7c90772b6a1fd26bd4311a7c74)
This reverts commit 80e99d8851.
Reason for revert: relanding CL after fixing barbet-userdebug build.
Bug: 132357300
Change-Id: I4b8e22847215b349393f01f6c0a90dd03b6073cd
Test: on branch sc-dev: lunch barbet-userdebug && m
Starting from Android 10, the system.img layout consists of
$TARGET_SYSTEM_OUT and $TARGET_ROOT_OUT, and is mounted by the
init as root. That is, system.img is always created as if
BOARD_BUILD_SYSTEM_ROOT_IMAGE was set.
https://source.android.com/devices/bootloader/partitions/system-as-root
The previous concern is that there might be compatibility issues between
the ramdisk contained in boot.img with a newer system.img. But this is
no longer an issue after we always mount the system.img as root.
Bug: 187157581
Test: Tree Hugger
Change-Id: I4537e6ce6fb39b4b86caac82a13716abf515ffd6
Merged-In: I4537e6ce6fb39b4b86caac82a13716abf515ffd6
(cherry picked from commit 640544bd96946b5a512c59d42e3f3c24682697fe)
This reverts commit ad645285a6.
Reason for revert: relanding CL after fixing git_sc-car-dev builds and
other build failures.
Bug: 132357300
Test: on branch sc-dev: lunch seahawk-userdebug && m
Test: on branch sc-dev: lunch osprey-userdebug && m
Test: on branch sc-dev: lunch factory_pipit-userdebug && m
Test: on sc-dev: lunch cf_x86_phone-userdebug && m droid dist tests
Test: forrest build partner-s-d1-fs-dev-slider/aosp_slider-userdebug:
https://android-build.googleplex.com/builds/forrest/run/L22600000889121228
Change-Id: I74789903bd91d3bb45c69031fcbaf3556cb29408
This reverts commit b6d1b48f9f.
Reason for revert: This change is breaking seahawk-userdebug
BUG: 188108611
Change-Id: I15b737e2778d437ecbef6ab9f43345da407f2205
This reverts commit 4caef2b8c8.
Reason for revert: relanding original CL after fixing r11-userdebug.
Bug: 132357300
Test: forrest build for git_master/r11-userdebug
Change-Id: I62268f331c76f31a80b610754c53543b9b59a1c6
This reverts commit a700ad4651.
Reason for revert: relanding original CL with correct Merged-In tag.
Use "Merged-In" tag from CL ag/14062434 to prevent merging in the
stage-aosp-master branch. That CL is unrelated to the current CL,
but related to <uses-library> checks in general.
Bug: 132357300
Change-Id: I10de5b56c51a0407bf027e0be5ac3b0b307cf100
Test: treehugger
Merged-In: I21712e5197b3cb06e82e476f4c2f7277142034e9