When using the VSDK, dexopt is not applied during the vendor build.
To avoid a first-boot time regression, dexopt is applied during the
merge stage, by running dexopt on the vendor apps and rebuilding
the vendor image.
Bug: 188179859
Test: Tested in keystone with VSDK target
Change-Id: Ie8e2d0a82850a2901fa6f250433bcbb43f0a97f2
Regardless of an "updatable" property of individual, list all apex boot
jars in the same variable. This is less confusing for devs, especially
since they shouldn't care about things like boot images.
Bug: 191127295
Test: atest CtsClasspathsTestCases
Change-Id: I0a559db462d1e1f67003ac54d1e27a89110d802a
Merged-In: I0a559db462d1e1f67003ac54d1e27a89110d802a
Change Id397ad097539 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
This reverts commit bf77787cc9.
Reason for revert: relanding change
Test: see next CL
Bug: 193925883
Bug: 193588301
Change-Id: Id397ad0975390617bd277573f2cdba9a2677842d
... but not really: move it back to PRODUCT_BOOT_JARS before the list is
passed to soong. This ensures that core-icu4j remains on the boot image
for system health reasons and maintains the status quo.
core-icu4j is the only APEX jar (aside from ART jars) that is ever meant
to be part of the boot image. This is an implementation detail that most
devs don't and shouldn't care about. Instead, most devs assume that
PRODUCT_UPDATABLE_BOOT_JARS is where all apex jars are meant to go. In
the follow ups, PRODUCT_UPDATABLE_BOOT_JARS would be renamed to
PRODUCT_APEX_BOOT_JARS, regardless of the updatable property.
This also solves the problem where vendors add /system and /system_ext
boot jars to PRODUCT_BOOT_JARS outside of default_art_config.mk and
essentially violate the ordering requirement: all /apex jars come after
/system and /system_ext.
Bug: 191127295
Test: atest CtsClasspathsTestCases derive_classpath_test
Change-Id: Ifdfdd02519a0f5baea45619523f0c1eb8be186bc
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
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
Bug: 188179858
Test: compare dexpreopt_config.zip files from
1. TARGET_BUILD_UNBUNDLED_IMAGE=true m dexpreopt_config_zip
2. m dexpreopt_config_zip
(note that m clean should run between steps)
Change-Id: I92623b59e4fcac397c7fed3d7ab1070fe5281027
This is a workaround for the problem that we cannot control from make
which APEX gets picked for deapexing.
Cherry-picked from http://ag/15107826.
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 in internal
Bug: 192006406
Bug: 172480615
Change-Id: I8990b726affeb08eabf130d20be45129a7c1c58d
Merged-In: I8990b726affeb08eabf130d20be45129a7c1c58d
(1) Incorrect path to librsjni.so because of typo in earlier change;
fixed by fixing typo.
(2) clang did not specify the target architecture (I don't know what
changed so that this no longer works); fixed by specifying target
architecture and changing from gcc linker to lld (gcc linker didn't
understand the options it was being passed by clang).
Test: blueline-userdebug
Test: make -j FORCE_BUILD_RS_COMPAT=true ENABLE_RSTESTS=true \
RSTestForward_21_1_2 RSTestForward_22_0_2 \
RSTestForward_23_0_3 RSTestForward_24_0_3 RSTestForward_25_0_2 \
RSTestBackward RSTestBackward19 RSTest RSTest_Compat RSTest_Compat19
Test: unzip -t ${PATH_TO_APK}
# confirm that .so files are present in RSTest_Compat[19] but not
for the other APKs
# confirm that .bc files are present in RSTestBackward19 but not
for the other APKs
Test: adb shell am instrument [--abi armeabi-v7a] \
-w ${TEST_PACKAGE_NAME}/androidx.test.runner.AndroidJUnitRunner
# Run four times:
# "--abi" argument present or absent; always omit for
# RSTest_Compat[19], which only support platform default ABI
# "adb shell setprop debug.rs.forcecompat 0" or "1"
# Note that RSTestBackward19 only supports 32-bit ABI, so both
# runs (with and without "--abi" argument) are actually armeabi-v7a
Test: After run, check logcat for RenderScript_jni
# (missing): not built against support library; expected for all
tests except RSTest_Compat[19]
# "RenderScript_jni: RS native mode"; expected for RSTest_Compat[19]
when setprop debug.rs.forcecompat is 0
# "RenderScript_jni: RS compat mode"; expected for RSTest_Compat[19]
when setprop debug.rs.forcecompat is 1
Change-Id: Icfaa226f2e1bfa909cb3bcbbe960f2804c355d2a
At least until the device builds are largely disabled and host builds
become opt-in rather than opt-out. Otherwise every host test that
depends on a linux-only library breaks the mac build, even if it won't
be used.
Bug: 187222815
Change-Id: Ic598f2b66a949b90e5b3fbebf463f28278e4834f
But only for a TARGET_BUILD_UNBUNDLED_IMAGE build. Since
the unbundled image build attempts to remove as many
framework sources as possible, we'd like to remove the
sources and dependencies of some blueprint_tools as
well.
Test: m nothing dist
Test: Verify graph is unchanged
Test: m nothing dist TARGET_BUILD_UNBUNDLED_IMAGE=true
Test: Verify that graph no longer includes blueprint_tools
Bug: 192629969
Change-Id: Ibfb52b841379e20855d0a935a13ad047af2fe58d
When set, module builds will prefer source where applicable.
Bug: 191978129
Test: m; MODULE_BUILD_FROM_SOURCE=true m
Change-Id: Ie7f928674a511a98f17653fa814a42194ee0e9f9
Bug: 158843648
Test: check if dexpreopt config for the module defined in mk has
DexPreoptImageLocationsOnDevice field.
Change-Id: Ie8c7b1c8c5a6797f71920d9ce671dde0e1f489a3
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
Change-Id: I7c3f330a73abe6cf1fb7d14aaaa6cbc3e874a4aa
* changes:
Add BUILD_USES_RECOVERY_AS_BOOT to soong config
Directly create ramdisk dirs in ramdisk image rule
Add BOARD_BUILD_SYSTEM_ROOT_IMAGE to config vars