I think that these modules (packages) can be included by other applications specified in LOCAL_REQUIRED_MODULES in .mk files. I would try to figure out the names of the module packages, and then search all the .mk files.
Instead of modifying a bunch of .mk files in AOSP in many folders, you can add a new module, a stub, and disable modules in your Android.mk using LOCAL_OVERRIDES_PACKAGES . If the module is still mapped to the target, you probably need to add other modules to LOCAL_OVERRIDES_PACKAGES that added unwanted packets through LOCAL_REQUIRED_MODULES .
Sorry, I don't know a better way to do this.
Folder
packages / apps stores most .mk application files, but you may need to check the hardware of the device , vendor, and , in general.
ADDED: I just found that envsetup.sh provides the mgrep command to search in makefiles (including * .mk), so you can try this to find .mk that references the DeskClock package:
build@1c1b9d217b9d :~/android/cm12.1$ mgrep DeskClock ./packages/apps/DeskClock/Android.mk:20:LOCAL_PACKAGE_NAME := DeskClock ./packages/apps/DeskClock/tests/Android.mk:12:LOCAL_PACKAGE_NAME := DeskClockTests ./packages/apps/DeskClock/tests/Android.mk:14:LOCAL_INSTRUMENTATION_FOR := DeskClock ./build/target/product/core.mk:26: DeskClock \
So you see that DeskClock is included in the assembly from core.mk
Although the mgrep command mgrep not mentioned in the envsetup.sh help envsetup.sh , it is reported by the hmm command (help for envsetup.sh) - I quote it here to encourage us to learn more about AOSP tools)):
build@1c1b9d217b9d :~/android/cm12.1$ hmm Invoke ". build/envsetup.sh" from your shell to add the following functions to your environment: - lunch: lunch <product_name>-<build_variant> - tapas: tapas [<App1> <App2> ...] [arm|x86|mips|armv5|arm64|x86_64|mips64] [eng|userdebug|user] - croot: Changes directory to the top of the tree. - cout: Changes directory to out. - m: Makes from the top of the tree. - mm: Builds all of the modules in the current directory, but not their dependencies. - mmm: Builds all of the modules in the supplied directories, but not their dependencies. To limit the modules being built use the syntax: mmm dir/:target1,target2. - mma: Builds all of the modules in the current directory, and their dependencies. - mmp: Builds all of the modules in the current directory and pushes them to the device. - mmmp: Builds all of the modules in the supplied directories and pushes them to the device. - mmma: Builds all of the modules in the supplied directories, and their dependencies. - mms: Short circuit builder. Quickly re-build the kernel, rootfs, boot and system images without deep dependencies. Requires the full build to have run before. - cgrep: Greps on all local C/C++ files. - ggrep: Greps on all local Gradle files. - jgrep: Greps on all local Java files. - resgrep: Greps on all local res / *.xml files. - sgrep: Greps on all local source files. - godir: Go to the directory containing a file. - cmremote: Add git remote for CM Gerrit Review - cmgerrit: A Git wrapper that fetches/pushes patch from/to CM Gerrit Review - cmrebase: Rebase a Gerrit change and push it again - aospremote: Add git remote for matching AOSP repository - cafremote: Add git remote for matching CodeAurora repository. - mka: Builds using SCHED_BATCH on all processors - mkap: Builds the module(s) using mka and pushes them to the device. - cmka: Cleans and builds using mka. - repolastsync: Prints date and time of last repo sync. - reposync: Parallel repo sync using ionice and SCHED_BATCH - repopick: Utility to fetch changes from Gerrit. - installboot: Installs a boot.img to the connected device. - installrecovery: Installs a recovery.img to the connected device. Look at the source to view more functions. The complete list is: mgrep cmka get_symbols_directory lunch repopick sgrep cmrebase getbugreports m reposync treegrep cmremote getdriver make resgrep _lunch core getlastscreenshot makerecipe runhat adb_get_product_device coredump_enable getprebuilt mangrep runtest adb_get_traced_by coredump_setup getscreenshotpath mk_timer sepgrep add_lunch_combo cout getsdcardpath mka set_java_home aospremote cproj gettargetarch mm set_sequence_number breakfast croot gettop mma set_stuff_for_environment brunch dddclient ggrep mmm setpaths cafremote dopush godir mmma settitle cgrep eat hmm mms smoketest check_bash_version findmakefile installboot omnom stacks check_product fixup_common_out_dir installrecovery pez startviewserver check_variant gdbclient is pid stopviewserver choosecombo gdbclient_old isviewserverstarted print_lunch_menu systemstack chooseproduct gdbwrapper jgrep printconfig tapas choosetype get_abs_build_var key_back qpid tracedmdump choosevariant get_build_var key_home repodiff cmgerrit get_make_command key_menu repolastsync
You can check the mgrep implementation in envsetup.sh to get ideas for new grep searches))