Removing AOSP Applications from the Assembly

Firstly, I'm trying to create an Android platform from Android source code without using applications such as LiveWallpapers, Calendar, Contacts, Calculator, Phone, Settings, etc.

To do this, I modify the makefiles in / build / target / product /, in particular the PRODUCT_PACKAGES variable, which contains all the applications and libraries that need to be created.

For example, I deleted the following lines:

DeskClock \ Bluetooth \ Calculator \ Calendar \ 

From PRODUCT_PACKAGES := in the file generic_no_telephony.mk.

However, when I start my tablet after blinking, I still find applications like email, sound and voice recorder, etc. I have already cleared before recovery. Do I need to delete more entries in other files?

Here you can see all the changes that I made for make files in the build / target / product / file:

 diff --git a/target/product/core.mk b/target/product/core.mk index 1d62eb8..5474f6a 100644 --- a/target/product/core.mk +++ b/target/product/core.mk @@ -25,23 +25,13 @@ PRODUCT_PROPERTY_OVERRIDES := \ PRODUCT_PACKAGES += \ ApplicationsProvider \ BackupRestoreConfirmation \ - BasicDreams \ Browser \ - Contacts \ - ContactsProvider \ DefaultContainerService \ - DownloadProvider \ - DownloadProviderUi \ - HTMLViewer \ Home \ KeyChain \ - MediaProvider \ PackageInstaller \ - PicoTts \ SettingsProvider \ SharedStorageBackup \ - TelephonyProvider \ - UserDictionaryProvider \ VpnDialogs \ abcc \ apache-xml \ diff --git a/target/product/full_base.mk b/target/product/full_base.mk index b2e3189..94d6d48 100644 --- a/target/product/full_base.mk +++ b/target/product/full_base.mk @@ -21,24 +21,10 @@ PRODUCT_PACKAGES := \ libfwdlockengine \ - OpenWnn \ - PinyinIME \ libWnnEngDic \ libWnnJpnDic \ libwnndict \ - VideoEditor \ - WAPPushManager - -PRODUCT_PACKAGES += \ - Galaxy4 \ - HoloSpiralWallpaper \ - LiveWallpapers \ - LiveWallpapersPicker \ - MagicSmokeWallpapers \ - NoiseField \ - PhaseBeam \ - VisualizationWallpapers \ - PhotoTable + # Additional settings used in all AOSP builds PRODUCT_PROPERTY_OVERRIDES := \ diff --git a/target/product/full_base_telephony.mk b/target/product /full_base_telephony.mk index 5899c8c..8c8c7c3 100644 --- a/target/product/full_base_telephony.mk +++ b/target/product/full_base_telephony.mk @@ -19,9 +19,6 @@ # build quite specifically for the emulator, and might not be # entirely appropriate to inherit from for on-device configurations. -PRODUCT_PACKAGES := \ - VoiceDialer - PRODUCT_PROPERTY_OVERRIDES := \ keyguard.no_require_sim=true \ ro.com.android.dataroaming=true diff --git a/target/product/generic_no_telephony.mk b/target/product/generic_no_telephony.mk index f139cbd..5f544b2 100644 --- a/target/product/generic_no_telephony.mk +++ b/target/product/generic_no_telephony.mk @@ -20,27 +20,16 @@ PRODUCT_POLICY := android.policy_phone PRODUCT_PACKAGES := \ - DeskClock \ Bluetooth \ - Calculator \ - Calendar \ CertInstaller \ DrmProvider \ - Email2 \ - Exchange2 \ FusedLocation \ - Gallery2 \ InputDevices \ LatinIME \ Launcher2 \ - Music \ - MusicFX \ Provision \ - Phone \ - QuickSearchBox \ Settings \ SystemUI \ - CalendarProvider \ bluetooth-health \ hostapd \ wpa_supplicant.conf diff --git a/target/product/large_emu_hw.mk b/target/product/large_emu_hw.mk index 27ebc96..54c53ca 100644 --- a/target/product/large_emu_hw.mk +++ b/target/product/large_emu_hw.mk @@ -20,25 +20,14 @@ PRODUCT_POLICY := android.policy_mid PRODUCT_PACKAGES := \ - CarHome \ - DeskClock \ Bluetooth \ - Calculator \ - Calendar \ CertInstaller \ DrmProvider \ - Email2 \ - Exchange2 \ - Gallery2 \ - LatinIME \ Launcher2 \ - Music \ Provision \ - QuickSearchBox \ Settings \ Sync \ Updater \ - CalendarProvider \ SyncProvider \ bluetooth-health \ hostapd \ diff --git a/target/product/mini.mk b/target/product/mini.mk index b69c917..9486c50 100644 --- a/target/product/mini.mk +++ b/target/product/mini.mk @@ -54,15 +54,11 @@ PRODUCT_PROPERTY_OVERRIDES += \ # Please keep this list sorted alphabetically PRODUCT_PACKAGES += \ ApplicationsProvider \ - ContactsProvider \ DefaultContainerService \ DownloadProvider \ DownloadProviderUi \ - MediaProvider \ PackageInstaller \ SettingsProvider \ - TelephonyProvider \ - UserDictionaryProvider \ abcc \ apache-xml \ audio \ @@ -161,8 +157,6 @@ PRODUCT_PACKAGES += \ Bluetooth \ FusedLocation \ InputDevices \ - LatinIME \ - Phone \ Provision \ hostapd \ wpa_supplicant.conf diff --git a/target/product/sdk.mk b/target/product/sdk.mk index 1edff57..294b9d8 100644 --- a/target/product/sdk.mk +++ b/target/product/sdk.mk @@ -18,40 +18,23 @@ PRODUCT_POLICY := android.policy_phone PRODUCT_PROPERTY_OVERRIDES := PRODUCT_PACKAGES := \ - Calculator \ - DeskClock \ - Exchange2 \ FusedLocation \ - Gallery \ - Music \ - Mms \ - OpenWnn \ libWnnEngDic \ libWnnJpnDic \ libwnndict \ - Phone \ - PinyinIME \ Protips \ SoftKeyboard \ SystemUI \ Launcher2 \ - Development \ - DevelopmentSettings \ - DrmProvider \ Fallback \ Settings \ SdkSetup \ CustomLocale \ sqlite3 \ InputDevices \ - LatinIME \ CertInstaller \ - LiveWallpapersPicker \ ApiDemos \ GestureBuilder \ - CubeLiveWallpapers \ - QuickSearchBox \ - WidgetPreview \ monkeyrunner \ guavalib \ jsr305lib \ @@ -59,13 +42,7 @@ PRODUCT_PACKAGES := \ jsilver \ librs_jni \ ConnectivityTest \ - GpsLocationTest \ - CalendarProvider \ - Calendar \ - SmokeTest \ - SmokeTestApp \ - rild \ - LegacyCamera + rild # Define the host tools and libs that are parts of the SDK. diff --git a/target/product/telephony.mk b/target/product/telephony.mk index 89ed20a..a92ed03 100644 --- a/target/product/telephony.mk +++ b/target/product/telephony.mk @@ -18,7 +18,6 @@ # to products that have telephony hardware. PRODUCT_PACKAGES := \ - Mms \ rild PRODUCT_COPY_FILES := \ 
+7
source share
2 answers

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))

+5
source

maybe you can check the ninja file in your

0
source

Source: https://habr.com/ru/post/956549/


All Articles