Use full binary profiles instead or relying on text-based profiles. This
makes it easier to import actual profiles and do not require two rounds of
transformation.
Text based profiled probably didn't help too much anyway because if the
apps are updated the proguard names will change.
Modules are still free to define a text based profile using
LOCAL_DEX_PREOPT_PROFILE_CLASS_LISTING. This is used for frameworks jars.
Test: make
Bug: 73313191
(cherry picked from commit f99ab7580f)
Merged-In: Ifd23dde21559fbcd015020905052bc588e275356
Change-Id: I13c6b3891cbf1232f1f07d0a17f019257f7118e6
This reverts commit 2a40cc6996.
Reason for revert: Broke a bunch of builds, platform/system/tools/bpt must be missing from more manifests.
Change-Id: I4c367a1fec5c62c247544227e9d3b596227e31da
* changes:
Write combined bpt definition directly into META/partition-table.bpt
Support regenerating partition table with bpttool in sign_target_files_apks
Don't suppress stderr for 'avbtool make_vbmeta_image'
Include default Android Things AVB keys in otatools.zip
This file has been copied into a 'public' subdir. Use that, so that
the old file can be deleted. Also introduce a new macro to avoid
duplicating this path in a bunch of places.
Bug: 77525052
Test: m checkbuild
Change-Id: Ifcf59c6fb357769b2765e417c8dd56d2ad9b97aa
...instead of copying from IMAGES/partition-table.bpt during
sign_target_files_apks. This addresses a comment on go/oag/665565, but
is done as a separate change so that it can be cherry-picked later (or
not at all) to downstream branches to avoid breaking signing of existing
target-files zips.
Bug: 72837107
Test: Local sign_target_files_apks run of locally built target-files
Change-Id: Id14c859eefe075fc56b15869f2f21c570eb07e65
For Android Things targets (or any other target which has
BOARD_BPT_INPUT_FILES defined), add_img_to_target_files will generate a
partition-table.img using bpttool. It also adds the final combined .bpt
definition file into target-files in IMAGES/partition-table.bpt.
When we're signing using sign_target_files_apks, add_img_to_target_files
needs to regenerate the partition table, but META/misc_info.txt still
contains the original list of bpt input files from the build that aren't
available. This change extracts the final bpt from the input
target-files, adds it to META/ in the output target-files, and then
updates the board_bpt_input_files property to point to it.
Bug: 72837107
Test: Local sign_target_files_apks run of locally built target-files
Change-Id: Id79125208f31c78b1ac2079172f9c91a9203849b
Output is useful for debugging.
Bug: 72837107
Test: Local sign_target_files_apks run of locally built target-files
Change-Id: I5c27fcc86fa3a51080e0502eb8f5f01a40b033c3
Android Things has an extension on AVB and thus uses different test
keys, along with a public key metadata file. See external/avb/README.md.
Bug: 72837107
Test: Local sign_target_files_apks run of locally built target-files
Change-Id: I769e09a971b9b6b2c9cb0f3272f756b1857eb286
* See upstream status of lld for Mach-O at https://lld.llvm.org/AtomLLD.html
Bug: 73768157
Test: make checkbuild
Change-Id: I20330bd59cc8b3d0ed0fa08d3f1c2be7b8656849
This is needed for the system images of aosp_arm(64) products to
be used as their respective GSIs in P, and for also aosp_arm(64)
products to boot with the current GSIs.
Bug: 78255604
Test: Built and booted the following products to home screen
$ lunch aosp_arm-userdebug; m -j; emulator
$ lunch aosp_arm64-userdebug; m -j; emulator
# The system image, both userdebug and user builds, of
# aosp_arm64 could also boot to home screen and browse
# the network on a physical device.
Change-Id: I83b79fd4d4e6e522ee78c720fb8c5f6f67ee411b
Merged-In: I83b79fd4d4e6e522ee78c720fb8c5f6f67ee411b
(cherry picked from commit f71547079a)
Starting in P, all 32-bit and 64-bit architectures use 64-bit
binder interface. This is similar to ag/3576770 for x86.
Bug: 71861550
Test: the following products can boot to home screen successfully:
lunch aosp_arm-userdebug; m -j; emulator
lunch sdk_phone_armv7-userdebug; m -j; emulator
Change-Id: Ibe1f53a5798342555e2e84395a13b48d461f483d
Merged-In: Ibe1f53a5798342555e2e84395a13b48d461f483d
(cherry picked from commit 6f114c0110c466d2a117f3e531f9ea5170a121ee)
This is a first attempt to enable build system support to include
vndk_package automatically (if BOARD_VNDK_VERSION is set), so devices
don't need to add it via PRODUCT_PACKAGE manually.
Bug: b/67002788
Test: Booted on the x86 emulator and a physical device and checked
their /system/lib*/vndk-* directories for vndk_package libraries.
# The commands below are for the x86 emulator:
$ lunch aosp_x86_64-userdebug; m -j
Change-Id: Iea927b9535c7ee1b64ca130a4ac54f0fd8b3f758
Merged-In: Iea927b9535c7ee1b64ca130a4ac54f0fd8b3f758
(cherry picked from commit 5364f5a298)
This change modifies aosp_$arch product makefiles so their
system images can be closer to their respective GSIs.
The added contents in this CL are based on treble_common*.mk.
Contents specific to GSI are in aosp_$arch.mk.
Contents common to all devices are moved to full_base.mk.
Contents related to specific device are moved to device.mk.
BoardConfig related makefiles will be changed in another CL.
Bug: 70772101
Test: The following products can boot to home screen:
$ lunch aosp_x86-userdebug; m -j; emulator
$ lunch aosp_x86_64-userdebug; m -j; emulator
$ lunch aosp_arm-userdebug; m -j; emulator
$ lunch aosp_arm64-userdebug; m -j; emulator
Change-Id: I225a13dd74b3e748cc5d1705e1a453348b01d43f
Merged-In: I225a13dd74b3e748cc5d1705e1a453348b01d43f
(cherry picked from commit 164eed2e7d)
This CL separates the options into three groups (excluding the global
options provided via common.py).
- Non-A/B OTA specific options;
- A/B OTA specific options;
- Common options that apply to both.
It mostly reshuffles the lines, with minor change to "--verify" that
removes the obselete remounting behavior (which doesn't apply to
block-based OTA).
Hopefully this makes the expected behavior of some options less
confusing.
Test: `build/make/tools/releasetools/ota_from_target_files.py`
Change-Id: I194ea52c4f7d6a3c7f34531abbcf3fdc7b7f4fa8
This CL defaults the journal size to 0 for system images (i.e. system,
vendor, system_other, oem, product). We used to do this by explicitly
defining BOARD_{SYSTEM,VENDOR,OEM,PRODUCT}IMAGE_JOURNAL_SIZE to 0 in
device-specific BoardConfig. Targets can still specify a non-zero
journal size as needed.
With this CL, marlin/sailfish gets 32MB / 16MB free space back for
system and vendor respectively.
Bug: 75975085
Test: `m dist`. Check the journal size in the generated images.
Change-Id: Ib3185d07c49be2b4f0fac5fe17ec1a82093ba0c0
(cherry picked from commit 965542fe69)
Defaults the reserved blocks for root to 0% on read only partitions
(system, system_other, vendor, oem). It also adds support for
explicitly specifying the extfs reserved percentage via
BOARD_{SYSTEM,VENDOR,OEM,PRODUCT}IMAGE_EXTFS_RSV_PCT.
This eventually translates down to the -m option for mkfs.
Removing the reserved space can save at least 5% from the default.
dumpe2fs system:
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
Bug: 75975085
Test: Build, verify reserved space is changed accordingly
Change-Id: I212d82741908b636db0d658a1c4847bbaadfd5ba
(cherry picked from commit 5ff758799c)
We've added support in brillo_update_payload that allows additionally
looking for images under RADIO/ in the given target_files zips [1]. This
avoids having duplicate radio images in target_files zips.
Also adjust the unittest in test_ota_from_target_files.py to cover this
path.
As a result of this CL, the radio images will no longer appear in the
image archive (i.e. <target>-img.zip) as well - they are less useful
anyway because we have packed only the _updatable_ pieces that are part
of full bootloader/radio images.
Bug: 77218220
Test: `python -m unittest test_ota_from_target_files`
Test: `python -m unittest test_add_img_to_target_files`
Test: `m dist` produces the same full OTA package
Test: Build marlin-userdebug in internal branch. Check the image zip.
Change-Id: I05579480f0bb9ab90aaeecf75969ee29b6904ad6
This commit adds ".vendor" suffix to the modules specified in
LOCAL_REQUIRED_MODULES when BOARD_VNDK_VERSION is not empty and it is
building the vendor variant.
Test: Create a vendor module with LOCAL_REQUIRED_MODULES to a
vendor_available shared library.
Change-Id: If448f682572157d0687cda3a72f9bab0f34d7f0d
This directory is getting deleted.
Also remove the variable, the other uses are being removed in this cl:
I1d4e87e7840e979b83779a2aefe176e7c1ed1527
Bug: 77525052
Test: Verified value of last_released_sdk_version variable.
Change-Id: I69b10ad83a8c06d337606df91e8d3b604adfef70
This new variable allows specifying libraries like this:
LOCAL_SDK_VERISON := 25
LOCAL_SDK_LIBRARIES := org.apache.http.legacy,
which would automatically pick up the prebuilt OAHL prebuilt
from prebuilts/sdk/25/public/org.apache.http.legacy.jar
Test: In master with uiautomator.
Bug: 77575476
Change-Id: Id8d92176f5b608c2bcea622b6aed4aa27c32e000
BUG: 74844131
Test: cd bionic/; mm (auto generating the test config in out/)
atest bionic-benchmarks (full testing in atest)
Change-Id: I0497eed876640893d0b82d4cde384d3608cf4875
Pass PLATFORM_VERSION_CODENAME as Platform_sdk_codename, and
set Platform_sdk_final if PLATFORM_VERSION_CODENAME is REL.
Bug: 78224641
Test: m checkbuild
Change-Id: Ic082ca756d877ba51f45e89aa2ac267781a8d854
It was initially introduced in commit
2e735ca34e, where it packs additional
vendor images into target_files zip in order to generate OTAs. We can
acheive the same goal with INSTALLED_RADIOIMAGE_TARGET, which is the way
being actively used across all targets, including IoT (the former
Brillo) targets.
Bug: 78201540
Test: `m dist` with aosp_marlin-userdebug
Test: Code search shows no active user of BRILLO_VENDOR_PARTITIONS.
Test: `python -m unittest test_add_img_to_target_files`
Change-Id: I8803d5377b5a39304a701cceafb243f9a228347d
There are a couple more places throughout the tree that use the old
modules, and I will update those next before deleting the old module
definitions.
Bug: 77525052
Test: make droid
Change-Id: I9385ae34cc1646cbd4e249d9e96a0116296f139a
When USE_CLANG_LLD is true, my_use_clang_lld is true,
and *GLOBAL_LLDFLAGS will be used instead of *GLOBAL_LDFLAGS.
Bug: 73768157
Test: make checkbuild
Change-Id: I2598b72e9edde32f8e57df860571fd107c005540