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_SHIPPING_API_LEVEL := 29 27PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false 28 29# Enable Scoped Storage related 30$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk) 31 32# vndk 33PRODUCT_PACKAGES := vndk-sp 34 35# Dynamic partitions 36PRODUCT_BUILD_SUPER_PARTITION := true 37PRODUCT_USE_DYNAMIC_PARTITIONS := true 38PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true 39 40# HACK: Avoid usb crash 41PRODUCT_PRODUCT_PROPERTIES := \ 42 persist.adb.nonblocking_ffs=0 \ 43 ro.adb.nonblocking_ffs=0 44 45# Display 46PRODUCT_PACKAGES += \ 47 android.hardware.drm@1.0-impl \ 48 android.hardware.drm@1.0-service \ 49 android.hardware.graphics.allocator@2.0-impl \ 50 android.hardware.graphics.allocator@2.0-service \ 51 android.hardware.graphics.composer@2.2-impl \ 52 android.hardware.graphics.composer@2.2-service \ 53 android.hardware.graphics.mapper@2.0-impl-2.1 \ 54 gralloc.gbm \ 55 hwcomposer.drm \ 56 libGLES_mesa 57 58PRODUCT_PROPERTY_OVERRIDES += \ 59 ro.hardware.gralloc=gbm \ 60 ro.hardware.hwcomposer=drm \ 61 debug.sf.no_hw_vsync=1 \ 62 ro.sf.lcd_density=160 \ 63 ro.opengles.version=196608 \ 64 persist.demo.rotationlock=1 65 66# Use Launcher3QuickStep 67PRODUCT_PACKAGES += Launcher3QuickStep 68 69# Enable WiFi 70PRODUCT_PACKAGES += \ 71 hostapd \ 72 libwpa_client \ 73 wpa_supplicant \ 74 wpa_supplicant.conf \ 75 wificond 76 77PRODUCT_PROPERTY_OVERRIDES += \ 78 wifi.interface=wlan0 \ 79 wifi.supplicant_scan_interval=15 80 81PRODUCT_COPY_FILES += \ 82 frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \ 83 frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \ 84 $(LOCAL_PATH)/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf \ 85 $(LOCAL_PATH)/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf 86 87# Enable BT 88PRODUCT_PACKAGES += \ 89 android.hardware.bluetooth@1.1-service.btlinux 90 91PRODUCT_COPY_FILES += \ 92 frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \ 93 frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml 94 95# Audio 96PRODUCT_PACKAGES += \ 97 android.hardware.audio@4.0-impl:32 \ 98 android.hardware.audio.effect@4.0-impl:32 \ 99 android.hardware.audio@2.0-service \ 100 android.hardware.soundtrigger@2.0-impl \ 101 android.hardware.bluetooth.audio@2.0-impl 102 103# Build default bluetooth a2dp and usb audio HALs 104PRODUCT_PACKAGES += \ 105 audio.a2dp.default \ 106 audio.bluetooth.default \ 107 audio.usb.default \ 108 audio.r_submix.default 109 110# Build tinyalsa cli tools for debugging 111PRODUCT_PACKAGES += \ 112 tinyplay \ 113 tinycap \ 114 tinymix \ 115 tinypcminfo 116 117# audio policy configuration 118USE_XML_AUDIO_POLICY_CONF := 1 119PRODUCT_COPY_FILES += \ 120 $(LOCAL_PATH)/etc/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \ 121 $(LOCAL_PATH)/etc/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \ 122 $(LOCAL_PATH)/etc/audio_policy_configuration_bluetooth_legacy_hal.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_bluetooth_legacy_hal.xml \ 123 frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \ 124 frameworks/av/services/audiopolicy/config/a2dp_in_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_in_audio_policy_configuration.xml \ 125 frameworks/av/services/audiopolicy/config/primary_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/primary_audio_policy_configuration.xml \ 126 frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration.xml \ 127 frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \ 128 frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \ 129 frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \ 130 frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml 131 132# Copy media codecs config file 133PRODUCT_COPY_FILES += \ 134 $(LOCAL_PATH)/etc/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \ 135 frameworks/av/media/libeffects/data/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \ 136 frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \ 137 frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml 138 139PRODUCT_COPY_FILES += \ 140 $(LOCAL_PATH)/seccomp_policy/mediaswcodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \ 141 $(LOCAL_PATH)/seccomp_policy/mediaswcodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediaswcodec.policy 142 143# Copy hardware config file(s) 144PRODUCT_COPY_FILES += \ 145 device/linaro/dragonboard/etc/permissions/android.software.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.xml 146 147# Memtrack 148PRODUCT_PACKAGES += \ 149 memtrack.default \ 150 android.hardware.memtrack@1.0-service \ 151 android.hardware.memtrack@1.0-impl 152 153# Keymaster 154PRODUCT_PACKAGES += \ 155 android.hardware.keymaster@3.0-impl \ 156 android.hardware.keymaster@3.0-service 157 158# Gatekeeper 159PRODUCT_PACKAGES += \ 160 android.hardware.gatekeeper@1.0-service.software 161 162# Health 163PRODUCT_PACKAGES += \ 164 android.hardware.health@2.1-impl-cuttlefish \ 165 android.hardware.health@2.1-service 166 167# TODO: disable this service once we implement system suspend 168PRODUCT_PACKAGES += \ 169 suspend_blocker 170 171# mkbootimg host tool to build boot.img separately 172PRODUCT_HOST_PACKAGES := \ 173 mkbootimg 174 175# Copy standard platform config files 176PRODUCT_COPY_FILES += \ 177 $(LOCAL_PATH)/ueventd.common.rc:$(TARGET_COPY_OUT_VENDOR)/ueventd.rc \ 178 frameworks/native/data/etc/android.software.cts.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.cts.xml \ 179 frameworks/native/data/etc/android.software.app_widgets.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.app_widgets.xml \ 180 frameworks/native/data/etc/android.software.backup.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.backup.xml \ 181 frameworks/native/data/etc/android.software.voice_recognizers.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.voice_recognizers.xml \ 182 frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \ 183 frameworks/native/data/etc/android.software.print.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.print.xml \ 184 frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \ 185 frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \ 186 frameworks/native/data/etc/android.software.device_admin.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_admin.xml 187 188PRODUCT_SOONG_NAMESPACES += external/mesa3d 189