Allows modules to specify LOCAL_DEX_PREOPT_APP_IMAGE := false if they
have a profile.
Bug: 77342775
Test: make
Change-Id: Ied7a8099b199904638dabdb09faf879d3216e73d
This happens by default now.
Test: make
Bug: 73313191
(cherry picked from commit 25ef4c018a)
Merged-In: I5cc0efb656e1b44a161420c49250640bc9d702c5
Change-Id: I5cc0efb656e1b44a161420c49250640bc9d702c5
CL I8fe27e8c03334f9c90204db1e69447de65a06a38 introduced a new
Doclava-generated file that contains a list of dex signatures of
@removed API. This patch adds a new Makefile variable holding the
name of that file.
Bug: 78182899
Test: make
Merged-In: I20330bd59cc8b3d0ed0fa08d3f1c2be7b8656849
Change-Id: I22474bd0a43b03441a551fbb055ee336665e499a
The apk name does not match the install location at the stage we are
processing profiles. This causes the wrong profile key to be used in the
final profile which may generate an empty app image.
Test: m; flash, dumpsys dexopt and check for speed-profile
check that the app image is not empty
Bug: 78515726
Change-Id: Ic5d71296583be71d96f0e7a2dd59753f1d23c350
In the temporary P-Finalization state, where PLATFORM_SDK_VERSION has
been incremented to 28 but PLATFORM_VERSION_CODENAME.PPR1 := P instead
of REL, PLATFORM_SYSTEMSDK_VERSIONS is still only P. Set
PLATFORM_SYSTEMSDK_MIN_VERSION := 28 so that PLATFORM_SYSTEMSDK_VERSIONS
is 28 P. Once PLATFORM_VERSION_CODENAME.PPR1 := REL it will become
just 28.
Bug: 78023556
Test: print PLATFORM_SYSTEMSDK_VERSIONS
Change-Id: I72cbef7bb7c84e6fd6fe4602021bb72d759d1b5e
This will add ro.vendor.build.security_patch to /vendor/build.prop on
device
Bug: 76428542
Test: ro.vendor.build.security_patch entry shows up under
/vendor/build.prop
Change-Id: I4f783e996cb425a49c2b12ae4f364e12c6ca7784
Merged-In: I4f783e996cb425a49c2b12ae4f364e12c6ca7784
(cherry picked from commit 56d444b98f)
We were testing the wrong variable when setting the dex2oat flags
Test: m; flash, dumpsys dexopt and check for speed-profile
Bug: 78515726
Change-Id: I57c0e11aab2e4879c3ba3b2851f356b5864f5da9
Like BOARD_VNDK_VERSION is automatically set, BOARD_SYSTEMSDK_VERSIONS
is also automatically set to the latest supported SystemSDK version when
it is unset. Specifically, it is set when
1) it isn't explicitly set by the vendor and
2) the device is P-launching device (PRODUCT_SHIPPING_API_LEVEL >= 28)
Bug: 78431725
Test: m -j
Test: `get_build_var BOARD_SYSTEMSDK_VERSIONS` return P for 2018 Pixels.
Change-Id: I036a07da3ce58bdf22d252b6ef18263c7da3602a
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
Change-Id: Ifd23dde21559fbcd015020905052bc588e275356
This change allows removing some vendor properties from
(vendor|system/vendor)/build.prop file based on a blacklist.
For WearOS Unified Builds, which can change the product name depending on
the chosen locale, we use runtime-generated value for ro.build.fingerprint,
but since the ro.vendor.build.fingerprint cannot be generated the same way,
we always hit a "Mismatched fingerprints" error.
Bug: 71555551
Test: manual
Change-Id: Ifad793187e930a28fbf9325b03468c7ea86076b7
Merged-In: Ifad793187e930a28fbf9325b03468c7ea86076b7
(cherry picked from commit d572632f3d)
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
Merged-In: Ic082ca756d877ba51f45e89aa2ac267781a8d854
(cherry picked from commit f6d3fff907)
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
Vendor apks should be able to reference native vendor libraries.
Vendor apks have worked around this by building without
LOCAL_SDK_VERSION, which then allowed to use all libs. However,
since vendor apks now needs to be built with SystemSDK, that
workaround can no longer be used.
Bug: 76398918
Test: BOARD_SYSTEMSDK_VERSION=P m -j
Merged-In: Idb13d5db71f4dfd542658483b6a24e7ece18ce26
Change-Id: Idb13d5db71f4dfd542658483b6a24e7ece18ce26
(cherry picked from commit 49a5b9785f)
See the Soong commit for detailed usage.
Bug: 76168832
Test: define some variables, use them
Change-Id: Ia8af5b6ec1cb3f12cbc1fee582a309eebb340b7c
Merged-In: Ia8af5b6ec1cb3f12cbc1fee582a309eebb340b7c
(cherry picked from commit eaacf5b285)
We've had these warnings for a while, but we've still got a lot of
warnings that people have been trained to ignore. Lets just silence them
for now.
The Merged-In is just a random change from AOSP that isn't in pi-dev, to
stop this from being merged to master, where I'm just fixing the
warnings.
Bug: 77883700
Test: m <fewer warnings>
Change-Id: I00d8173a527760d62dca5837bcc86d5f03b87e83
Merged-In: I78ca65e6f0c81f09e7da848eda797b3a8f97a521
There is an extra ) in the implicit output path for R.txt, which causes
the rule to rerun every time because of a missing output file. There
is already an implicit output for R.txt on line 180 (which is why
the incorrect path didn't cause an immediate "No rule to generate R.txt"
error), so just remove the incorrect one.
Bug: 77244156
Test: m checkbuild && m checkbuild
Change-Id: Id960ee211b89a9a5f5104cdcac23bc3124742145
Merged-In: Id960ee211b89a9a5f5104cdcac23bc3124742145
(cherry picked from commit ac48f41ba5)
Instead of passing the entire contents of
$(COMPATIBILITY.$(suite).FILES) to eval, which may keep that string
around, delay the evaluation of that, and the new files until inside the
eval.
This saves ~2.8GB: 7.4GB -> 4.6GB of ckati max resident memory for a
relatively small internal build. It also saves ~10% of the makefile
loading time (81 -> 73 seconds).
Bug: 77879502
Test: build-aosp_arm.ninja is identical
Change-Id: If45a4796f1bbf6d67dff388ea877a6115a4e06f4
Merged-In: If45a4796f1bbf6d67dff388ea877a6115a4e06f4
(cherry picked from commit a4155e8512)
If there are no symbols to keep (i.e. all function symbols are also in
the dynsym table), then the $@.keep_symbols file has size 0.
When objcopy parses a --keep-symbols file, it has a special case for
0-sized files where it silently fails (exits with status 1, no error
message). On the other hand, objcopy is happy with a file containing no
symbols, as long as there is some whitespace or a comment. Avoid the
special case by appending a newline to keep_symbols.
Bug: b/62815515
Bug: b/77242617
Test: manual
Change-Id: I348593164fe78ece5c85db3d28c7daccce3a52fb
(cherry picked from commit a45f5833c0)
This variable is equal to the sepolicy version for tip-of-tree development.
Bug: 74622750
Test: ./build/soong/soong_ui.bash --dumpvars-mode -vars PLATFORM_SEPOLICY_VERSION
is unchanged.
Change-Id: I2a62f7399fe245ec0c681e9a789da6b1b83dd9d8
Merged-In: I2a62f7399fe245ec0c681e9a789da6b1b83dd9d8
(cherry picked from commit d9c8e956ac)
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
Normally, when building with VNDK, platform modules are not allowed to
link against vendor libraries, because the ABI of the vendor libraries
are not guaranteed to be stable and may differ across multiple vendor
images.
However, the vendor public libraries are the exceptions. Vendor public
libraries are vendor libraries that are exposed to 3rd party apps and
listed in /vendor/etc/public.libraries.txt. Since they are intended to
be exposed to public, their ABI stability is guaranteed (by definition,
though it is up to the vendor to actually guarantee it).
This change allows platform modules to link to vendor public libraries.
When the name of a vendor public libraries (whose stub is defined via
vendor_public_library in Android.bp) is listed in
LOCAL_SHARED_LIBRARIES, it is actually linked to the stub library which
is available to platform modules.
Bug: 74275385
Test: m -j
Merged-In: I063b43431196190b59332b1bcad59f267073f89f
Change-Id: I063b43431196190b59332b1bcad59f267073f89f
(cherry picked from commit c3f1356a3a)