First, I'm trying to build an Android platform from the Android source code without stock apps like LiveWallpapers, Calendar, Contacts, Calculator, Phone, Settings, etc.
In order to do it, I'm modifying make files in /build/target/product/, specifically the variable PRODUCT_PACKAGES which contains all apps and libs that need to be built.
For example, I deleted the following lines:
DeskClock \
Bluetooth \
Calculator \
Calendar \
From PRODUCT_PACKAGES :=
in the file generic_no_telephony.mk.
However, when I run my tablet after flashing, I still find apps like Email, Sound & Speech Recorder, etc. I've already cleaned before rebuilding. Do I need to delete more entries in other make files?
Here you can see all the modifications I've made on make files in build/target/product/:
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 := \
I think that those modules (packages) may be included by other apps, being specified in
LOCAL_REQUIRED_MODULES
in .mk files. I would try to figure out package names of the modules, then search through all .mk files.Instead of modifying bunch of .mk files in AOSP in many folders, you can add a new module, a stub, and disable modules in its Android.mk using
LOCAL_OVERRIDES_PACKAGES
. If a module still appear in target, you'll probably need to add toLOCAL_OVERRIDES_PACKAGES
another modules which added undesired packages viaLOCAL_REQUIRED_MODULES
.Sorry I do not know a better way to do that.
packages/apps folder holds most of applications .mk files, but you may need to check device, vendor and hardware folders too, in general case.
ADDED: I've just discovered that
envsetup.sh
providesmgrep
command to search in makefiles (including *.mk), so you can try this to find .mk referring DeskClock package:So you see DeskClock is included into the build from
core.mk
Though
mgrep
command is not mentioned in help section ofenvsetup.sh
, it is reported by 'hmm' command (help for envsetup.sh) - I quote it here to stimulate us to learn AOSP tools deeper )):You may check implementation of
mgrep
inenvsetup.sh
to get ideas for new grep searches ))