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# vndk 30PRODUCT_PACKAGES := vndk-sp 31 32# Dynamic partitions 33PRODUCT_BUILD_SUPER_PARTITION := true 34PRODUCT_USE_DYNAMIC_PARTITIONS := true 35PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true 36 37# HACK: Avoid usb crash 38PRODUCT_PRODUCT_PROPERTIES := \ 39 persist.adb.nonblocking_ffs=0 \ 40 ro.adb.nonblocking_ffs=0 41 42# Display 43PRODUCT_PACKAGES += \ 44 android.hardware.drm@1.0-impl \ 45 android.hardware.drm@1.0-service \ 46 android.hardware.graphics.allocator@2.0-impl \ 47 android.hardware.graphics.allocator@2.0-service \ 48 android.hardware.graphics.composer@2.2-impl \ 49 android.hardware.graphics.composer@2.2-service \ 50 android.hardware.graphics.mapper@2.0-impl-2.1 \ 51 gralloc.gbm \ 52 hwcomposer.drm \ 53 libGLES_mesa 54 55PRODUCT_PROPERTY_OVERRIDES += \ 56 ro.hardware.gralloc=gbm \ 57 ro.hardware.hwcomposer=drm \ 58 debug.sf.no_hw_vsync=1 \ 59 hwc.drm.use_framebuffer_target=1 \ 60 hwc.drm.use_overlay_planes=0 \ 61 ro.sf.lcd_density=160 \ 62 ro.opengles.version=196608 \ 63 persist.demo.rotationlock=1 64 65# Use Launcher3QuickStep 66PRODUCT_PACKAGES += Launcher3QuickStep 67 68# Enable WiFi 69PRODUCT_PACKAGES += \ 70 hostapd \ 71 libwpa_client \ 72 wpa_supplicant \ 73 wpa_supplicant.conf \ 74 wificond \ 75 wifilogd 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/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \ 121 $(LOCAL_PATH)/etc/audio_policy_configuration_bluetooth_legacy_hal.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_bluetooth_legacy_hal.xml \ 122 frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \ 123 frameworks/av/services/audiopolicy/config/a2dp_in_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_in_audio_policy_configuration.xml \ 124 frameworks/av/services/audiopolicy/config/primary_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/primary_audio_policy_configuration.xml \ 125 frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration.xml \ 126 frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \ 127 frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \ 128 frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \ 129 frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml 130 131# Copy media codecs config file 132PRODUCT_COPY_FILES += \ 133 $(LOCAL_PATH)/etc/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \ 134 frameworks/av/media/libeffects/data/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \ 135 frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \ 136 frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml 137 138PRODUCT_COPY_FILES += \ 139 $(LOCAL_PATH)/seccomp_policy/mediaswcodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediaswcodec.policy 140 141# Memtrack 142PRODUCT_PACKAGES += \ 143 memtrack.default \ 144 android.hardware.memtrack@1.0-service \ 145 android.hardware.memtrack@1.0-impl 146 147# Keymaster 148PRODUCT_PACKAGES += \ 149 android.hardware.keymaster@3.0-impl \ 150 android.hardware.keymaster@3.0-service 151 152# Gatekeeper 153PRODUCT_PACKAGES += \ 154 android.hardware.gatekeeper@1.0-service.software 155 156# Health 157PRODUCT_PACKAGES += \ 158 android.hardware.health@2.0-service \ 159 android.hardware.health@2.0-impl 160 161# mkbootimg host tool to build boot.img separately 162PRODUCT_HOST_PACKAGES := \ 163 mkbootimg 164 165# Copy standard platform config files 166PRODUCT_COPY_FILES += \ 167 $(LOCAL_PATH)/ueventd.common.rc:$(TARGET_COPY_OUT_VENDOR)/ueventd.rc \ 168 frameworks/native/data/etc/android.software.cts.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.cts.xml \ 169 frameworks/native/data/etc/android.software.app_widgets.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.app_widgets.xml \ 170 frameworks/native/data/etc/android.software.backup.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.backup.xml \ 171 frameworks/native/data/etc/android.software.voice_recognizers.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.voice_recognizers.xml \ 172 frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \ 173 frameworks/native/data/etc/android.software.print.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.print.xml \ 174 frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \ 175 frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \ 176 frameworks/native/data/etc/android.software.device_admin.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_admin.xml 177 178PRODUCT_SOONG_NAMESPACES += external/mesa3d 179