1. Move the work of `declare-1p-copy-files` to `build/core/tasks/meta-lic.mk`. 2. Remove `$(LOCAL_PATH)/pathmap.mk` because the variables defined in it are no longer used. 3. The variable `ONE_SHOT_MAKEFILE` is deprecated and can be removed directly. 4. Move the work of `offline-sdk-docs` to `build/core/tasks/offline-sdk-docs.mk` because Soong cannot specify the output path to `$(OUT_DOCS)/`. 5. Move the work of `framework-doc-stubs` to `build/core/Makefile` because Soong cannot specify the output path to `framework-doc-stubs-metadata_intermediates`, and because `SDK_METADATA_FILES` is a dependency of the SDK, it must be moved before the SDK's dependencies are determined, and it cannot be moved to `build/core/tasks`. 6. `ANDROID_BUILD_EMBEDDED` can be removed because the `.mk` files that use this variable are currently not used. Bug: 322732227 Test: m sdk docs offline-sdk-docs framework-doc-stubs Change-Id: Ieef40808a0bbaa63a73491ddde0949ae1780e615
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:
-
There is an APEX/SDK mismatch. (E.g., the APEX is built from source while the SDK is built from prebuilt.)
-
The
systemserverclasspath_fragment
is not added assystemserverclasspath_fragments
of the correspondingapex
module, or not added asexported_systemserverclasspath_fragments
of the correspondingprebuilt_apex
/apex_set
module when building from prebuilt. -
The expected version of the system server java library is not preferred. (E.g., the
java_import
module hasprefer: false
when building from prebuilt.) -
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.
-
-
PRODUCT_SYSTEM_SERVER_JARS
,PRODUCT_APEX_SYSTEM_SERVER_JARS
,PRODUCT_STANDALONE_SYSTEM_SERVER_JARS
, orPRODUCT_APEX_STANDALONE_SYSTEM_SERVER_JARS
has an extra entry that is not needed by the product.