blob: f3cf945e08f93f6f3b1c84006c16ef13fe3c7bf0 [file] [view]
# Resolving System Image File List Differences
The Android build system uses the `file_list_diff` tool to ensure consistency
between the lists of installed files in system images defined by Kati and Soong.
This check is crucial when transitioning to Soong-defined system images. If the
tool detects any discrepancies, the build will fail.
This document helps you understand and resolve the reported errors. There are
two main types of errors: files present only in the Kati-defined image
(PRODUCT_PACKAGES) and files present only in the Soong-defined image
(Handwritten `android_system_image` module in Android.bp).
## Understanding and Fixing Errors
### Files from PRODUCT_PACKAGES that are missing in the Soong definition
This error indicates that certain system modules are included via
`PRODUCT_PACKAGES` in your device's Makefiles (`.mk` files) but are not
explicitly defined within the `android_system_image` module (or its
dependencies) in `Android.bp`.
**To resolve this:**
* **Default System Modules:** If the module is defined in a common system
Makefile (like `base_system.mk`, `generic_system.mk`, etc.), ensure it's listed
in the `system_image_defaults` module within
`build/make/target/product/generic/Android.bp`.
* **Device-Specific Modules:** For modules specific to your device, add them to
the relevant `android_system_image` module defined in
`PRODUCT_SOONG_DEFINED_SYSTEM_IMAGE` for your target.
### Files in the Soong definition that are missing from PRODUCT_PACKAGES
This error means that certain system modules are present in the Soong-defined
system image (specified by `PRODUCT_SOONG_DEFINED_SYSTEM_IMAGE`) but are not
included in the `PRODUCT_PACKAGES` list for your target.
**To resolve this:**
* **Remove Incorrect Modules:** If these modules shouldn't be part of the system
image, remove them from the `android_system_image` module definition.
* **Add Missing Modules to Makefiles:** If these modules are indeed required,
add them to the appropriate `.mk` files, following the guidance in the previous
section to ensure they are correctly included in both the Kati and Soong
definitions.