• 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_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