Files
build/core/tasks
Nelson Li 1646e5c028 Move the creation of the root structure to build/core/main.mk
Since Soong currently doesn't support the `install_directory`
functionality, `system/core/rootdir/Android.mk` cannot be directly
converted to Android.bp. Moreover, its main content is to create
directories and symlinks for the root file system. Therefore, we'll
first rename it and move it to build/core/main.mk for handling.

In addition, consolidate the handling of meta-lic related parts into
`build/core/tasks/meta-lic.mk`.

Bug: 353642907
Test: m -j init.environ.rc
Change-Id: Ie8f8bcae5752d22c331b33a33981a959410f0a69
2024-09-10 06:51:10 +00:00
..
2021-02-11 10:34:01 +00:00
2024-06-20 06:43:25 +00:00
2022-04-28 08:03:55 +00:00
2022-04-07 22:03:29 -07:00
2023-02-24 19:34:25 +00:00
2024-08-02 21:31:31 +00:00
2018-07-30 16:42:46 -07:00
2020-07-16 12:34:29 -07:00
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.