• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
2# Copyright (C) 2014 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# Enable updating of APEXes
18$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk)
19
20# Device overlay
21DEVICE_PACKAGE_OVERLAYS := $(LOCAL_PATH)/overlay
22
23# Build and run only ART
24PRODUCT_RUNTIMES := runtime_libart_default
25
26PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false
27
28# Enable Scoped Storage related
29$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
30
31# vndk
32PRODUCT_PACKAGES += vndk-sp
33
34# HACK: Avoid usb crash
35PRODUCT_PRODUCT_PROPERTIES := \
36    persist.adb.nonblocking_ffs=0 \
37    ro.adb.nonblocking_ffs=0
38
39# DRM HAL
40PRODUCT_PACKAGES += \
41    android.hardware.drm-service.clearkey \
42    android.hardware.drm-service.widevine
43
44# Use Launcher3QuickStep
45PRODUCT_PACKAGES += Launcher3QuickStep
46
47# Enable WiFi
48PRODUCT_PACKAGES += \
49    hostapd \
50    libwpa_client \
51    wpa_supplicant \
52    wpa_supplicant.conf \
53    wificond
54
55PRODUCT_PROPERTY_OVERRIDES += \
56    wifi.interface=wlan0 \
57    wifi.supplicant_scan_interval=15
58
59PRODUCT_COPY_FILES += \
60    frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
61    frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \
62    $(LOCAL_PATH)/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf \
63    $(LOCAL_PATH)/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf
64
65# Enable BT
66PRODUCT_PACKAGES += \
67    android.hardware.bluetooth-service.default
68
69PRODUCT_COPY_FILES += \
70    frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \
71    frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml
72
73# Audio
74PRODUCT_PACKAGES += \
75    android.hardware.audio.service \
76    android.hardware.audio@7.0-impl \
77    android.hardware.audio.effect@7.0-impl \
78    android.hardware.soundtrigger@2.3-impl \
79    android.hardware.bluetooth.audio@2.0-impl
80
81# Build default bluetooth a2dp and usb audio HALs
82PRODUCT_PACKAGES += \
83    audio.bluetooth.default \
84    audio.usb.default \
85    audio.r_submix.default
86
87# Bluetooth Audio AIDL HAL
88PRODUCT_PACKAGES += \
89    android.hardware.bluetooth.audio-impl \
90PRODUCT_COPY_FILES += \
91    frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration_7_0.xml \
92
93# Build tinyalsa cli tools for debugging
94PRODUCT_PACKAGES += \
95    tinyplay \
96    tinycap \
97    tinymix \
98    tinypcminfo
99
100
101# audio policy configuration
102USE_XML_AUDIO_POLICY_CONF := 1
103PRODUCT_COPY_FILES += \
104    $(LOCAL_PATH)/etc/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \
105    $(LOCAL_PATH)/etc/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
106    frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \
107    frameworks/av/services/audiopolicy/config/a2dp_in_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_in_audio_policy_configuration.xml \
108    frameworks/av/services/audiopolicy/config/primary_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/primary_audio_policy_configuration.xml \
109    frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration.xml \
110    frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
111    frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \
112    frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
113    frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml
114
115# Copy media codecs config file
116PRODUCT_COPY_FILES += \
117    $(LOCAL_PATH)/etc/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
118    frameworks/av/media/libeffects/data/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \
119    frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \
120    frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml
121
122PRODUCT_COPY_FILES += \
123    $(LOCAL_PATH)/seccomp_policy/mediaswcodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \
124    $(LOCAL_PATH)/seccomp_policy/mediaswcodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediaswcodec.policy
125
126# Copy hardware config file(s)
127PRODUCT_COPY_FILES +=  \
128        device/linaro/dragonboard/etc/permissions/android.software.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.xml
129
130
131# External Web Cam support
132PRODUCT_PACKAGES += \
133	android.hardware.camera.provider@2.4-impl \
134	android.hardware.camera.provider@2.4-external-service
135
136PRODUCT_COPY_FILES += \
137    frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \
138    $(LOCAL_PATH)/etc/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml \
139    $(LOCAL_PATH)/etc/external_camera_config.xml:$(TARGET_COPY_OUT_VENDOR)/etc/external_camera_config.xml
140
141# KeyMint.  Note that this is an insecure implementation that should not be
142# used on a production device as it does not comply with [9.11/H-0-2] of the
143# Android CDD ("Handheld device implementations MUST back up the keystore
144# implementation with an isolated execution environment").
145PRODUCT_PACKAGES += \
146    com.android.hardware.keymint.rust_nonsecure
147PRODUCT_COPY_FILES += \
148    frameworks/native/data/etc/android.hardware.keystore.app_attest_key.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.keystore.app_attest_key.xml
149
150# Gatekeeper.  Note that this is an insecure implementation that should not be
151# used on a production device as it does not comply with [9.11/H-0-4] of the
152# Android CDD ("Handheld device implementations MUST perform the lock screen
153# authentication in the isolated execution environment ").
154PRODUCT_PACKAGES += \
155    com.android.hardware.gatekeeper.nonsecure
156
157# Health HAL
158PRODUCT_PACKAGES += com.google.cf.health
159
160# TODO: disable this service once we implement system suspend
161PRODUCT_PACKAGES += \
162    suspend_blocker
163
164# dtc and fdtoverlay tools to apply dt overlays
165# mkbootimg host tool to build boot.img separately
166PRODUCT_HOST_PACKAGES := \
167    dtc \
168    fdtoverlay \
169    mkbootimg
170
171# Userspace vendor services for WiFi/Audio to work
172PRODUCT_PACKAGES += \
173    pd-mapper \
174    qrtr-ns \
175    qrtr-cfg \
176    qrtr-lookup \
177    rmtfs \
178    tqftpserv
179
180PRODUCT_COPY_FILES += \
181    $(LOCAL_PATH)/shared/utils/init.utils.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.utils.rc
182
183# Copy standard platform config files
184PRODUCT_COPY_FILES +=  \
185    $(LOCAL_PATH)/ueventd.common.rc:$(TARGET_COPY_OUT_VENDOR)/etc/ueventd.rc \
186    frameworks/native/data/etc/android.software.cts.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.cts.xml \
187    frameworks/native/data/etc/android.software.app_widgets.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.app_widgets.xml \
188    frameworks/native/data/etc/android.software.backup.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.backup.xml \
189    frameworks/native/data/etc/android.software.voice_recognizers.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.voice_recognizers.xml \
190    frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \
191    frameworks/native/data/etc/android.software.print.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.print.xml \
192    frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \
193    frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \
194    frameworks/native/data/etc/android.software.opengles.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml \
195    frameworks/native/data/etc/android.software.device_admin.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_admin.xml
196
197TARGET_PRODUCT_PROP := $(LOCAL_PATH)/product.prop
198
199DEVICE_MANIFEST_FILE := device/linaro/dragonboard/manifest.xml
200