• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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