platform_build/core/tasks
Devin Moore 48d7b3462d Add static_libs to module-info.json
This is helpful for analyzing how often a library is included statically
on a device. If a large library is linked statically in many processes
in a single device, it may be a good candidate for shared linking
instead.

This increases the size of module-info.json file on Cuttlefish by ~12.5%
from 65MB to 72MB.

Test: m
Bug: 280829178
Change-Id: I3614d86d799810e1ce845e1097f43f1ec0a412a3
2023-06-05 20:17:50 +00:00
..
tools BUILD_NUMBER and BUILD_HOSTNAME doesn't affect kati regeneration 2023-05-23 07:14:22 +09:00
art-host-tests.mk Update art-host-tests build rule to support partial download 2023-03-09 00:16:25 +00:00
build_custom_images.mk Remove PRODUCT_SUPPORTS_VERITY(_FEC) reference 2022-08-11 08:12:58 +00:00
catbox.mk Report Performance Test Metrics as JSON File 2021-08-09 09:55:04 -07:00
csuite.mk
cts.mk Limit cts-api-coverage parallelism to 8 2022-10-10 10:16:23 -07:00
cts_root.mk
device-tests.mk Enable -sha256 feature to device-tests.zip 2023-02-17 17:48:24 +08:00
dex_preopt_check.mk Add a doc about dex_preopt_check. 2022-05-20 16:21:46 +01:00
find-shareduid-violation.mk Non-module targets. 2022-04-12 18:57:15 -07:00
general-tests.mk Revert "Revert "Enable -sha256 feature to some Soong built zip files"" 2023-02-14 00:29:30 +00:00
host-unit-tests.mk Revert "Revert "Enable -sha256 feature to some Soong built zip files"" 2023-02-14 00:29:30 +00:00
host_init_verifier.mk
ide.mk
module-info.mk Add static_libs to module-info.json 2023-06-05 20:17:50 +00:00
mts.mk
multitree.mk Prototype changes for multitree 2022-04-28 08:03:55 +00:00
oem_image.mk Non-module targets. 2022-04-07 22:03:29 -07:00
owners.mk driveby: Fix typo 2023-02-24 19:34:25 +00:00
platform_availability_check.mk
README.dex_preopt_check.md Add a doc about dex_preopt_check. 2022-05-20 16:21:46 +01:00
recovery_snapshot.mk
sdk-addon.mk BUILD_NUMBER and BUILD_HOSTNAME doesn't affect kati regeneration 2023-05-23 07:14:22 +09:00
sts-lite.mk Initial STS sdk 2022-09-05 09:56:09 -07:00
sts.mk
test_mapping.mk Don't read test mapping list in Make 2023-03-24 04:33:07 +00:00
tradefed-tests-list.mk Non-module targets. 2022-04-07 22:03:29 -07:00
vendor_module_check.mk
vendor_snapshot.mk Revert "Define vendor-hwasan-snapshot target" 2023-01-02 16:07:43 +09:00
vndk.mk
vts-core-tests.mk vts: split kselftests and ltp 2022-09-14 22:59:11 +00:00
with-license.mk BUILD_NUMBER and BUILD_HOSTNAME doesn't affect kati regeneration 2023-05-23 07:14:22 +09:00
wvts.mk Resubmit: Initial add wvts to build 2023-01-11 00:55:50 +00:00

dex_preopt_check

dex_preopt_check is a build-time check to make sure that all system server jars are dexpreopted. When the check fails, you will see the following error message:

FAILED:
build/make/core/tasks/dex_preopt_check.mk:13: warning:  Missing compilation artifacts. Dexpreopting is not working for some system server jars
Offending entries:

Possible causes are:

  1. There is an APEX/SDK mismatch. (E.g., the APEX is built from source while the SDK is built from prebuilt.)

  2. The systemserverclasspath_fragment is not added as systemserverclasspath_fragments of the corresponding apex module, or not added as exported_systemserverclasspath_fragments of the corresponding prebuilt_apex/apex_set module when building from prebuilt.

  3. The expected version of the system server java library is not preferred. (E.g., the java_import module has prefer: false when building from prebuilt.)

  4. Dexpreopting is disabled for the system server java library. This can be due to various reasons including but not limited to:

    • The java library has dex_preopt: { enabled: false } in the Android.bp file.

    • The java library is listed in DEXPREOPT_DISABLED_MODULES in a Makefile.

    • The java library is missing installable: true in the Android.bp file when building from source.

    • Sanitizer is enabled.

  5. PRODUCT_SYSTEM_SERVER_JARS, PRODUCT_APEX_SYSTEM_SERVER_JARS, PRODUCT_STANDALONE_SYSTEM_SERVER_JARS, or PRODUCT_APEX_STANDALONE_SYSTEM_SERVER_JARS has an extra entry that is not needed by the product.