blob: 0cc02dca12f08bce8d6943e68664c6cacdfe8cec [file] [log] [blame]
#
# Copyright (C) 2018 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Base modules and settings for the system partition.
PRODUCT_PACKAGES += \
abx \
aconfigd \
adbd_system_api \
aflags \
am \
android.hidl.base-V1.0-java \
android.hidl.manager-V1.0-java \
android.system.suspend-service \
android.test.base \
android.test.mock \
android.test.runner \
apexd \
appops \
app_process \
appwidget \
atrace \
audioserver \
BackupRestoreConfirmation \
bcc \
blank_screen \
blkid \
bmgr \
bootanimation \
bootstat \
boringssl_self_test \
bpfloader \
bu \
bugreport \
bugreportz \
cgroups.json \
charger \
cmd \
com.android.adbd \
com.android.adservices \
com.android.appsearch \
com.android.btservices \
com.android.configinfrastructure \
com.android.conscrypt \
com.android.devicelock \
com.android.extservices \
com.android.healthfitness \
com.android.i18n \
com.android.ipsec \
com.android.location.provider \
com.android.media \
com.android.media.swcodec \
com.android.mediaprovider \
com.android.ondevicepersonalization \
com.android.os.statsd \
com.android.permission \
com.android.resolv \
com.android.rkpd \
com.android.neuralnetworks \
com.android.scheduling \
com.android.sdkext \
com.android.tethering \
$(RELEASE_PACKAGE_TZDATA_MODULE) \
com.android.uwb \
com.android.virt \
com.android.wifi \
ContactsProvider \
content \
CtsShimPrebuilt \
CtsShimPrivPrebuilt \
debuggerd\
device_config \
dmctl \
dnsmasq \
dmesgd \
DownloadProvider \
dpm \
dump.erofs \
dumpstate \
dumpsys \
E2eeContactKeysProvider \
e2fsck \
enhanced-confirmation.xml \
ExtShared \
flags_health_check \
framework-graphics \
framework-location \
framework-minus-apex \
framework-minus-apex-install-dependencies \
framework-sysconfig.xml \
fsck.erofs \
fsck_msdos \
fsverity-release-cert-der \
fs_config_files_system \
fs_config_dirs_system \
gpu_counter_producer \
group_system \
gsid \
gsi_tool \
heapprofd \
heapprofd_client \
gatekeeperd \
gpuservice \
hid \
idmap2 \
idmap2d \
ime \
ims-common \
incident \
incidentd \
incident_helper \
incident-helper-cmd \
init.environ.rc \
init_system \
initial-package-stopped-states.xml \
input \
installd \
IntentResolver \
ip \
iptables \
javax.obex \
kcmdlinectrl \
keystore2 \
credstore \
ld.mc \
libaaudio \
libalarm_jni \
libamidi \
libandroid \
libandroidfw \
libandroid_runtime \
libandroid_servers \
libartpalette-system \
libaudioeffect_jni \
libbinder \
libbinder_ndk \
libbinder_rpc_unstable \
libc.bootstrap \
libcamera2ndk \
libcutils \
libdl.bootstrap \
libdl_android.bootstrap \
libdrmframework \
libdrmframework_jni \
libEGL \
libETC1 \
libfdtrack \
libFFTEm \
libfilterfw \
libgatekeeper \
libGLESv1_CM \
libGLESv2 \
libGLESv3 \
libgui \
libhardware \
libhardware_legacy \
libincident \
libinput \
libinputflinger \
libiprouteutil \
libjnigraphics \
libjpeg \
liblog \
libm.bootstrap \
libmdnssd \
libmedia \
libmedia_jni \
libmediandk \
libmtp \
libnetd_client \
libnetlink \
libnetutils \
libneuralnetworks_packageinfo \
libOpenMAXAL \
libOpenSLES \
libpdfium \
libpower \
libpowermanager \
libradio_metadata \
librtp_jni \
libsensorservice \
libsfplugin_ccodec \
libskia \
libsonic \
libsonivox \
libsoundpool \
libspeexresampler \
libsqlite \
libstagefright \
libstagefright_foundation \
libstagefright_omx \
libstdc++ \
libsysutils \
libui \
libusbhost \
libutils \
libvintf_jni \
libvulkan \
libwilhelm \
linker \
llkd \
lmkd \
LocalTransport \
locksettings \
logcat \
logd \
lpdump \
lshal \
mdnsd \
mediacodec.policy \
mediaextractor \
mediametrics \
media_profiles_V1_0.dtd \
MediaProviderLegacy \
mediaserver \
mke2fs \
mkfs.erofs \
monkey \
misctrl \
mtectrl \
ndc \
netd \
NetworkStack \
odsign \
org.apache.http.legacy \
otacerts \
PackageInstaller \
package-shareduid-allowlist.xml \
passwd_system \
perfetto \
ping \
ping6 \
pintool \
platform.xml \
pm \
preinstalled-packages-asl-files.xml \
preinstalled-packages-platform.xml \
preinstalled-packages-strict-signature.xml \
printflags \
privapp-permissions-platform.xml \
prng_seeder \
recovery-persist \
resize2fs \
rss_hwm_reset \
run-as \
sanitizer.libraries.txt \
schedtest \
screencap \
sdcard \
secdiscard \
SecureElement \
selinux_policy_system \
sensorservice \
service \
servicemanager \
services \
settings \
SettingsProvider \
sfdo \
sgdisk \
Shell \
shell_and_utilities_system \
sm \
snapshotctl \
snapuserd \
storaged \
surfaceflinger \
svc \
task_profiles.json \
tc \
telecom \
telephony-common \
tombstoned \
traced \
traced_probes \
tune2fs \
uiautomator \
uinput \
uncrypt \
uprobestats \
usbd \
vdc \
voip-common \
vold \
watchdogd \
wificond \
wifi.rc \
wm \
# When we release crashrecovery module
ifeq ($(RELEASE_CRASHRECOVERY_MODULE),true)
PRODUCT_PACKAGES += \
com.android.crashrecovery \
endif
# These packages are not used on Android TV
ifneq ($(PRODUCT_IS_ATV),true)
PRODUCT_PACKAGES += \
$(RELEASE_PACKAGE_SOUND_PICKER) \
endif
# Product does not support Dynamic System Update
ifneq ($(PRODUCT_NO_DYNAMIC_SYSTEM_UPDATE),true)
PRODUCT_PACKAGES += \
DynamicSystemInstallationService \
endif
# Check if the build supports NFC apex or not
ifeq ($(RELEASE_PACKAGE_NFC_STACK),NfcNci)
PRODUCT_PACKAGES += \
framework-nfc \
NfcNci
else
PRODUCT_PACKAGES += \
com.android.nfcservices
endif
# Check if the build supports Profiling module
ifeq ($(RELEASE_PACKAGE_PROFILING_MODULE),true)
PRODUCT_PACKAGES += \
com.android.profiling
endif
ifeq ($(RELEASE_USE_WEBVIEW_BOOTSTRAP_MODULE),true)
PRODUCT_PACKAGES += \
com.android.webview.bootstrap
endif
# VINTF data for system image
PRODUCT_PACKAGES += \
system_manifest.xml \
system_compatibility_matrix.xml \
# Base modules when shipping api level is less than or equal to 34
PRODUCT_PACKAGES_SHIPPING_API_LEVEL_34 += \
android.hidl.memory@1.0-impl \
# hwservicemanager is now installed on system_ext, but apexes might be using
# old libraries that are expecting it to be installed on system. This allows
# those apexes to continue working. The symlink can be removed once we are sure
# there are no devices using hwservicemanager (when Android V launching devices
# are no longer supported for dessert upgrades).
PRODUCT_PACKAGES += \
hwservicemanager_compat_symlink_module \
PRODUCT_PACKAGES_ARM64 := libclang_rt.hwasan \
libclang_rt.hwasan.bootstrap \
libc_hwasan \
# Jacoco agent JARS to be built and installed, if any.
ifeq ($(EMMA_INSTRUMENT),true)
ifneq ($(EMMA_INSTRUMENT_STATIC),true)
# For instrumented build, if Jacoco is not being included statically
# in instrumented packages then include Jacoco classes in the product
# packages.
PRODUCT_PACKAGES += jacocoagent
ifneq ($(EMMA_INSTRUMENT_FRAMEWORK),true)
# For instrumented build, if Jacoco is not being included statically
# in instrumented packages and has not already been included in the
# bootclasspath via ART_APEX_JARS then include Jacoco classes into the
# bootclasspath.
PRODUCT_BOOT_JARS += jacocoagent
endif # EMMA_INSTRUMENT_FRAMEWORK
endif # EMMA_INSTRUMENT_STATIC
endif # EMMA_INSTRUMENT
ifeq (,$(DISABLE_WALLPAPER_BACKUP))
PRODUCT_PACKAGES += \
WallpaperBackup
endif
# Moving angle from vendor to system
ifeq ($(RELEASE_ANGLE_ON_SYSTEM),true)
PRODUCT_PACKAGES += \
libEGL_angle \
libGLESv1_CM_angle \
libGLESv2_angle
$(call soong_config_set,angle,angle_on_system,true)
endif
# For testing purposes
ifeq ($(FORCE_AUDIO_SILENT), true)
PRODUCT_SYSTEM_PROPERTIES += ro.audio.silent=1
endif
# Host tools to install
PRODUCT_HOST_PACKAGES += \
BugReport \
adb \
adevice \
art-tools \
atest \
bcc \
bit \
dump.erofs \
e2fsck \
fastboot \
flags_health_check \
fsck.erofs \
icu-data_host_i18n_apex \
icu_tzdata.dat_host_tzdata_apex \
idmap2 \
incident_report \
ld.mc \
lpdump \
mke2fs \
mkfs.erofs \
resize2fs \
sgdisk \
sqlite3 \
tinyplay \
tune2fs \
unwind_info \
unwind_reg_info \
unwind_symbols \
tzdata_host \
tzdata_host_tzdata_apex \
tzlookup.xml_host_tzdata_apex \
tz_version_host \
tz_version_host_tzdata_apex \
PRODUCT_COPY_FILES += \
system/core/rootdir/init.usb.rc:system/etc/init/hw/init.usb.rc \
system/core/rootdir/init.usb.configfs.rc:system/etc/init/hw/init.usb.configfs.rc
PRODUCT_COPY_FILES += system/core/rootdir/init.zygote32.rc:system/etc/init/hw/init.zygote32.rc
PRODUCT_VENDOR_PROPERTIES += ro.zygote?=zygote32
PRODUCT_SYSTEM_PROPERTIES += debug.atrace.tags.enableflags=0
PRODUCT_SYSTEM_PROPERTIES += persist.traced.enable=1
# Packages included only for eng or userdebug builds, previously debug tagged
PRODUCT_PACKAGES_DEBUG := \
adb_keys \
adevice_fingerprint \
arping \
dmuserd \
evemu-record \
idlcli \
init-debug.rc \
iotop \
iperf3 \
iw \
layertracegenerator \
libclang_rt.ubsan_standalone \
logpersist.start \
logtagd.rc \
ot-cli-ftd \
ot-ctl \
procrank \
profcollectd \
profcollectctl \
record_binder \
servicedispatcher \
showmap \
sqlite3 \
ss \
start_with_lockagent \
strace \
su \
sanitizer-status \
tracepath \
tracepath6 \
traceroute6 \
unwind_info \
unwind_reg_info \
unwind_symbols \
# The set of packages whose code can be loaded by the system server.
PRODUCT_SYSTEM_SERVER_APPS += \
SettingsProvider \
ifeq (,$(DISABLE_WALLPAPER_BACKUP))
PRODUCT_SYSTEM_SERVER_APPS += \
WallpaperBackup
endif
PRODUCT_PACKAGES_DEBUG_JAVA_COVERAGE := \
libdumpcoverage
PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,\
frameworks/base/config/preloaded-classes:system/etc/preloaded-classes)
# Note: it is acceptable to not have a dirty-image-objects file. In that case, the special bin
# for known dirty objects in the image will be empty.
PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,\
frameworks/base/config/dirty-image-objects:system/etc/dirty-image-objects)
$(call inherit-product, $(SRC_TARGET_DIR)/product/runtime_libart.mk)
# Use "image" APEXes always.
$(call inherit-product,$(SRC_TARGET_DIR)/product/updatable_apex.mk)
$(call soong_config_set, bionic, large_system_property_node, $(RELEASE_LARGE_SYSTEM_PROPERTY_NODE))