1# 2# Copyright (C) 2022 The Android Open Source Project 3# 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15# 16 17# This makefile comprises the minimal system partition content for an 18# automotive device. 19$(call inherit-product, $(SRC_TARGET_DIR)/product/handheld_system.mk) 20$(call inherit-product, $(SRC_TARGET_DIR)/product/languages_default.mk) 21# Add adb keys to debuggable AOSP builds (if they exist) 22$(call inherit-product-if-exists, vendor/google/security/adb/vendor_key.mk) 23 24# If your device needs telephony stack for mobile network, please include 25# telephony_system.mk and APN configs in your device makefile. 26 27# Enable updating of APEXes 28$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk) 29 30# Applications 31PRODUCT_PACKAGES += \ 32 LiveWallpapersPicker \ 33 PartnerBookmarksProvider \ 34 preinstalled-packages-platform-generic-system.xml \ 35 Stk \ 36 Tag \ 37 38# OTA support 39PRODUCT_PACKAGES += \ 40 recovery-refresh \ 41 update_engine \ 42 update_verifier \ 43 44# Wrapped net utils for /vendor access. 45PRODUCT_PACKAGES += netutils-wrapper-1.0 46 47# Charger images 48PRODUCT_PACKAGES += charger_res_images 49 50# system_other support 51PRODUCT_PACKAGES += \ 52 cppreopts.sh \ 53 otapreopt_script \ 54 55# For ringtones that rely on forward lock encryption 56PRODUCT_PACKAGES += libfwdlockengine 57 58# System libraries commonly depended on by things on the system_ext or product partitions. 59# These lists will be pruned periodically. 60PRODUCT_PACKAGES += \ 61 android.hardware.biometrics.fingerprint@2.1 \ 62 android.hardware.radio@1.0 \ 63 android.hardware.radio@1.1 \ 64 android.hardware.radio@1.2 \ 65 android.hardware.radio@1.3 \ 66 android.hardware.radio@1.4 \ 67 android.hardware.radio.config@1.0 \ 68 android.hardware.radio.deprecated@1.0 \ 69 android.hardware.secure_element@1.0 \ 70 android.hardware.wifi \ 71 libaudio-resampler \ 72 libaudiohal \ 73 libdrm \ 74 liblogwrap \ 75 liblz4 \ 76 libminui \ 77 libnl \ 78 libprotobuf-cpp-full \ 79 80# These libraries are empty and have been combined into libhidlbase, but are still depended 81# on by things off /system. 82# TODO(b/135686713): remove these 83PRODUCT_PACKAGES += \ 84 libhidltransport \ 85 libhwbinder \ 86 87PRODUCT_HOST_PACKAGES += \ 88 tinyplay 89 90# Enable configurable audio policy 91PRODUCT_PACKAGES += \ 92 libaudiopolicyengineconfigurable \ 93 libpolicy-subsystem 94 95# Include all zygote init scripts. "ro.zygote" will select one of them. 96PRODUCT_COPY_FILES += \ 97 system/core/rootdir/init.zygote32.rc:system/etc/init/hw/init.zygote32.rc \ 98 system/core/rootdir/init.zygote64.rc:system/etc/init/hw/init.zygote64.rc \ 99 system/core/rootdir/init.zygote64_32.rc:system/etc/init/hw/init.zygote64_32.rc \ 100 101# Enable dynamic partition size 102PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true 103 104PRODUCT_ENFORCE_RRO_TARGETS := * 105 106PRODUCT_PACKAGES += \ 107 Bluetooth \ 108 CarActivityResolver \ 109 CarManagedProvisioning \ 110 StatementService \ 111 SystemUpdater \ 112 pppd \ 113 screenrecord 114 115# Set default Bluetooth profiles 116TARGET_SYSTEM_PROP := \ 117 packages/services/Car/car_product/properties/bluetooth.prop 118 119PRODUCT_SYSTEM_PROPERTIES += \ 120 config.disable_systemtextclassifier=true 121 122### 123### Suggested values for multi-user properties - can be overridden 124### 125 126# Enable headless system user mode 127PRODUCT_SYSTEM_PROPERTIES += \ 128 ro.fw.mu.headless_system_user?=true 129 130# Enable User HAL integration 131# NOTE: when set to true, VHAL must also implement the user-related properties, 132# otherwise CarService will ignore it 133PRODUCT_SYSTEM_PROPERTIES += \ 134 android.car.user_hal_enabled?=true 135 136### end of multi-user properties ### 137 138# TODO(b/255631687): Enable the shell transition as soon as all CTS issues are resolved. 139PRODUCT_SYSTEM_PROPERTIES += \ 140 persist.wm.debug.shell_transit=0 141 142# TODO(b/198516172): Find a better location to add this read only property 143# It is added here to check the functionality, will be updated in next CL 144PRODUCT_SYSTEM_PROPERTIES += \ 145 ro.android.car.carservice.overlay.packages?=com.android.car.resources.vendor;com.google.android.car.resources.vendor; 146 147# Vendor layer can override this 148PRODUCT_SYSTEM_PROPERTIES += \ 149 ro.android.car.carservice.package?=com.android.car.updatable 150 151# Update with PLATFORM_VERSION_MINOR_INT update 152PRODUCT_SYSTEM_PROPERTIES += ro.android.car.version.platform_minor=0 153 154PRODUCT_PACKAGES += \ 155 com.android.wifi \ 156 Home \ 157 BasicDreams \ 158 CaptivePortalLogin \ 159 CertInstaller \ 160 DownloadProviderUi \ 161 FusedLocation \ 162 InputDevices \ 163 KeyChain \ 164 Keyguard \ 165 Launcher2 \ 166 PacProcessor \ 167 PrintSpooler \ 168 ProxyHandler \ 169 Settings \ 170 SharedStorageBackup \ 171 VpnDialogs \ 172 MmsService \ 173 ExternalStorageProvider \ 174 atrace \ 175 libandroidfw \ 176 libaudioutils \ 177 libmdnssd \ 178 libpowermanager \ 179 libvariablespeed \ 180 PackageInstaller \ 181 carbugreportd \ 182 vehicle_binding_util \ 183 184# Device running Android is a car 185PRODUCT_COPY_FILES += \ 186 frameworks/native/data/etc/android.hardware.type.automotive.xml:system/etc/permissions/android.hardware.type.automotive.xml 187 188# Default permission grant exceptions 189PRODUCT_COPY_FILES += \ 190 packages/services/Car/car_product/build/preinstalled-packages-product-car-base.xml:system/etc/sysconfig/preinstalled-packages-product-car-base.xml 191 192# Required init rc files for car 193PRODUCT_COPY_FILES += \ 194 packages/services/Car/car_product/init/init.bootstat.rc:system/etc/init/init.bootstat.car.rc \ 195 packages/services/Car/car_product/init/init.car.rc:system/etc/init/init.car.rc 196 197# Device policy management support 198PRODUCT_COPY_FILES += \ 199 frameworks/native/data/etc/android.software.device_admin.xml:system/etc/permissions/android.software.device_admin.xml 200 201# Enable car watchdog 202PRODUCT_PACKAGES += carwatchdogd 203 204# Enable car power policy 205PRODUCT_PACKAGES += carpowerpolicyd 206 207PRODUCT_IS_AUTOMOTIVE := true 208 209PRODUCT_PACKAGES += \ 210 CarFrameworkPackageStubs \ 211 CarService \ 212 CarShell \ 213 CarDialerApp \ 214 CarRadioApp \ 215 OverviewApp \ 216 CarLauncher \ 217 LocalMediaPlayer \ 218 CarMediaApp \ 219 CarMessengerApp \ 220 CarHTMLViewer \ 221 CarMapsPlaceholder \ 222 CarLatinIME \ 223 CarSettings \ 224 CarUsbHandler \ 225 android.car.builtin \ 226 libcarservicehelperjni \ 227 car-frameworks-service \ 228 com.android.car.procfsinspector \ 229 com.android.permission \ 230 231# CAN bus 232PRODUCT_PACKAGES += \ 233 canhalctrl \ 234 canhaldump \ 235 canhalsend 236 237# RROs 238PRODUCT_PACKAGES += \ 239 CarPermissionControllerRRO \ 240 CarSystemUIRRO \ 241 242# System Server components 243# Order is important: if X depends on Y, then Y should precede X on the list. 244PRODUCT_SYSTEM_SERVER_JARS += car-frameworks-service 245 246PRODUCT_BOOT_JARS += \ 247 android.car.builtin 248 249USE_CAR_FRAMEWORK_APEX ?= false 250 251ifeq ($(USE_CAR_FRAMEWORK_APEX),true) 252 PRODUCT_PACKAGES += com.android.car.framework 253 254 PRODUCT_APEX_BOOT_JARS += com.android.car.framework:android.car-module 255 PRODUCT_APEX_SYSTEM_SERVER_JARS += com.android.car.framework:car-frameworks-service-module 256 257 $(call soong_config_set,AUTO,car_bootclasspath_fragment,true) 258 259 PRODUCT_HIDDENAPI_STUBS := android.car-module.stubs 260 PRODUCT_HIDDENAPI_STUBS_SYSTEM := android.car-module.stubs.system 261 PRODUCT_HIDDENAPI_STUBS_TEST := android.car-module.stubs.test 262else # !USE_CAR_FRAMEWORK_APEX 263 PRODUCT_BOOT_JARS += android.car 264 PRODUCT_PACKAGES += android.car CarServiceUpdatableNonModule car-frameworks-service-module 265 PRODUCT_SYSTEM_SERVER_JARS += car-frameworks-service-module 266 267 PRODUCT_HIDDENAPI_STUBS := android.car-stubs-dex 268 PRODUCT_HIDDENAPI_STUBS_SYSTEM := android.car-system-stubs-dex 269 PRODUCT_HIDDENAPI_STUBS_TEST := android.car-test-stubs-dex 270endif # USE_CAR_FRAMEWORK_APEX 271