2.8 KiB
List Installed Files from Source Directories
list_installed_file_from_source.py
helps users to list the vendor source
files or vendor prebuilts that will be installed into the system image.
This tool lists all possible file that may be installed to the system
image. Some listed files are not actually installed because they are not
specified in PRODUCT_PACKAGES
.
Usage
First, build an Android target:
lunch aosp_sailfish-userdebug
make -j8
Then, in ${ANDROID_BUILD_TOP}
, run list_installed_file_from_source.py
:
./development/vndk/tools/sourcedr/sourcedr/list_installed_file_from_source.py \
out/combined-sailfish.ninja \
--ninja-deps out/.ninja_deps \
| tee files.txt
Be patient. It may take for 3-5 mintues.
Re-use the Parsed Dependency Graph
list_installed_file_from_source.py
spends a lot of time parsing ninja
files. It is desirable to keep the parsed dependency graph for further
investigation. You can create a parsed dependency graph with:
./development/vndk/tools/sourcedr/sourcedr/ninja.py pickle \
out/combined-sailfish.ninja \
--ninja-deps out/.ninja_deps \
-o sailfish.pickle
And then, load dependency graph with:
./development/vndk/tools/sourcedr/sourcedr/list_installed_file_from_source.py \
sailfish.pickle
Filters
By default, list_installed_file_from_source.py
lists the files that are from
device
or vendor
directories and installed to the system partition. This
can be tweaked with --installed-filter
and --source-filter
:
-
--installed-filter
filters the paths of the files that may be installed to the device. The specified path must be relative to the file system root of the device. The default value issystem
. -
--source-filter
filters the paths of the source files. The paths must be relative to Android source tree root (i.e.${ANDROID_BUILD_TOP}
). Multiple paths may be specified and separated by semicolons. The default value isdevice:vendor
.
Examples
List the files from device/google
and installed to /system
:
./development/vndk/tools/sourcedr/sourcedr/list_installed_file_from_source.py \
sailfish.pickle \
--source-filter device/google \
--installed-filter system
List the files from device/google
and installed into /system/lib64
with:
./development/vndk/tools/sourcedr/sourcedr/list_installed_file_from_source.py \
sailfish.pickle \
--source-filter device/google \
--installed-filter system/lib64
List the files from frameworks/base
or frameworks/native
and installed
into /system/lib
or /system/lib64
with:
./development/vndk/tools/sourcedr/sourcedr/list_installed_file_from_source.py \
sailfish.pickle \
--source-filter frameworks/base:frameworks/native \
--installed-filter system/lib:system/lib64