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# 74# Power HAL 75# 76PRODUCT_PACKAGES += \ 77 android.hardware.power-service.example 78 79# 80# PowerStats HAL 81# 82PRODUCT_PACKAGES += \ 83 android.hardware.power.stats-service.example 84 85 86# Audio 87PRODUCT_PACKAGES += \ 88 android.hardware.audio.service \ 89 android.hardware.audio@7.0-impl \ 90 android.hardware.audio.effect@7.0-impl \ 91 android.hardware.soundtrigger@2.3-impl \ 92 android.hardware.bluetooth.audio@2.0-impl 93 94# Build default bluetooth a2dp and usb audio HALs 95PRODUCT_PACKAGES += \ 96 audio.bluetooth.default \ 97 audio.usb.default \ 98 audio.r_submix.default 99 100# Bluetooth Audio AIDL HAL 101PRODUCT_PACKAGES += \ 102 android.hardware.bluetooth.audio-impl \ 103PRODUCT_COPY_FILES += \ 104 frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration_7_0.xml \ 105 106# Build tinyalsa cli tools for debugging 107PRODUCT_PACKAGES += \ 108 tinyplay \ 109 tinycap \ 110 tinymix \ 111 tinypcminfo 112 113 114# audio policy configuration 115USE_XML_AUDIO_POLICY_CONF := 1 116PRODUCT_COPY_FILES += \ 117 $(LOCAL_PATH)/etc/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \ 118 $(LOCAL_PATH)/etc/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \ 119 frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \ 120 frameworks/av/services/audiopolicy/config/a2dp_in_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_in_audio_policy_configuration.xml \ 121 frameworks/av/services/audiopolicy/config/primary_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/primary_audio_policy_configuration.xml \ 122 frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration.xml \ 123 frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \ 124 frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \ 125 frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \ 126 frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml 127 128# Copy media codecs config file 129PRODUCT_COPY_FILES += \ 130 $(LOCAL_PATH)/etc/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \ 131 frameworks/av/media/libeffects/data/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \ 132 frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \ 133 frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml 134 135PRODUCT_COPY_FILES += \ 136 $(LOCAL_PATH)/seccomp_policy/mediaswcodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \ 137 $(LOCAL_PATH)/seccomp_policy/mediaswcodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediaswcodec.policy 138 139# Copy hardware config file(s) 140PRODUCT_COPY_FILES += \ 141 device/linaro/dragonboard/etc/permissions/android.software.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.xml 142 143 144# External Web Cam support 145PRODUCT_PACKAGES += \ 146 android.hardware.camera.provider@2.4-impl \ 147 android.hardware.camera.provider@2.4-external-service 148 149PRODUCT_COPY_FILES += \ 150 frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \ 151 $(LOCAL_PATH)/etc/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml \ 152 $(LOCAL_PATH)/etc/external_camera_config.xml:$(TARGET_COPY_OUT_VENDOR)/etc/external_camera_config.xml 153 154# Keymaster 155PRODUCT_PACKAGES += \ 156 android.hardware.keymaster@3.0-impl \ 157 android.hardware.keymaster@3.0-service 158 159# Gatekeeper 160PRODUCT_PACKAGES += \ 161 android.hardware.gatekeeper@1.0-service.software 162 163# Health HAL 164PRODUCT_PACKAGES += com.google.cf.health 165 166# Thermal HAL 167PRODUCT_PACKAGES += com.android.hardware.thermal 168 169# TODO: disable this service once we implement system suspend 170PRODUCT_PACKAGES += \ 171 suspend_blocker 172 173# dtc and fdtoverlay tools to apply dt overlays 174# mkbootimg host tool to build boot.img separately 175PRODUCT_HOST_PACKAGES := \ 176 dtc \ 177 fdtoverlay \ 178 mkbootimg 179 180# Userspace vendor services for WiFi/Audio to work 181PRODUCT_PACKAGES += \ 182 pd-mapper \ 183 qrtr-ns \ 184 qrtr-cfg \ 185 qrtr-lookup \ 186 rmtfs \ 187 tqftpserv 188 189PRODUCT_COPY_FILES += \ 190 $(LOCAL_PATH)/shared/utils/init.utils.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.utils.rc 191 192# Copy standard platform config files 193PRODUCT_COPY_FILES += \ 194 $(LOCAL_PATH)/ueventd.common.rc:$(TARGET_COPY_OUT_VENDOR)/etc/ueventd.rc \ 195 frameworks/native/data/etc/android.software.cts.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.cts.xml \ 196 frameworks/native/data/etc/android.software.app_widgets.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.app_widgets.xml \ 197 frameworks/native/data/etc/android.software.backup.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.backup.xml \ 198 frameworks/native/data/etc/android.software.voice_recognizers.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.voice_recognizers.xml \ 199 frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \ 200 frameworks/native/data/etc/android.software.print.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.print.xml \ 201 frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \ 202 frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \ 203 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 \ 204 frameworks/native/data/etc/android.software.device_admin.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_admin.xml 205 206TARGET_PRODUCT_PROP := $(LOCAL_PATH)/product.prop 207 208DEVICE_MANIFEST_FILE := device/linaro/dragonboard/manifest.xml 209DEVICE_MATRIX_FILE := device/linaro/dragonboard/compatibility_matrix.xml 210