• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
2# Copyright (C) 2018 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# This file is to configure vendor/data partitions of emulator-related products
18#
19$(call inherit-product-if-exists, frameworks/native/build/phone-xhdpi-2048-dalvik-heap.mk)
20
21# Enable Scoped Storage related
22$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
23
24PRODUCT_SOONG_NAMESPACES += \
25    device/generic/goldfish \
26    device/generic/goldfish-opengl
27
28PRODUCT_SYSTEM_EXT_PROPERTIES += ro.lockscreen.disable.default=1
29
30DISABLE_RILD_OEM_HOOK := true
31
32DEVICE_MANIFEST_FILE := device/generic/goldfish/manifest.xml
33PRODUCT_SOONG_NAMESPACES += hardware/google/camera
34PRODUCT_SOONG_NAMESPACES += hardware/google/camera/devices/EmulatedCamera
35
36# Device modules
37PRODUCT_PACKAGES += \
38    vulkan.ranchu \
39    libandroidemu \
40    libOpenglCodecCommon \
41    libOpenglSystemCommon \
42    libgoldfish-ril \
43    libgoldfish-rild \
44    libril-goldfish-fork \
45    qemu-props \
46    stagefright \
47    fingerprint.ranchu \
48    android.hardware.graphics.composer@2.3-impl \
49    android.hardware.graphics.composer@2.3-service \
50    android.hardware.graphics.allocator@3.0-service \
51    android.hardware.graphics.mapper@3.0-impl-ranchu \
52    hwcomposer.ranchu \
53    toybox_vendor \
54    android.hardware.wifi@1.0-service \
55    android.hardware.biometrics.fingerprint@2.1-service \
56    sh_vendor \
57    ip_vendor \
58    iw_vendor \
59    local_time.default \
60    SdkSetup \
61    EmulatorRadioConfig \
62    EmulatorTetheringConfigOverlay \
63    libstagefrighthw \
64    libstagefright_goldfish_vpxdec \
65    libstagefright_goldfish_avcdec \
66    MultiDisplayProvider
67
68ifneq ($(BUILD_EMULATOR_OPENGL),false)
69PRODUCT_PACKAGES += \
70    libGLESv1_CM_emulation \
71    lib_renderControl_enc \
72    libEGL_emulation \
73    libGLESv2_enc \
74    libvulkan_enc \
75    libGLESv2_emulation \
76    libGLESv1_enc
77endif
78
79PRODUCT_PACKAGES += \
80    android.hardware.bluetooth@1.1-service.sim \
81    android.hardware.bluetooth.audio@2.0-impl
82PRODUCT_PROPERTY_OVERRIDES += bt.rootcanal_test_console=off
83
84PRODUCT_PACKAGES += \
85    android.hardware.health@2.1-service \
86    android.hardware.health@2.1-impl \
87    android.hardware.health.storage@1.0-service \
88
89PRODUCT_PACKAGES += \
90    android.hardware.neuralnetworks@1.3-service-sample-all \
91    android.hardware.neuralnetworks@1.3-service-sample-float-fast \
92    android.hardware.neuralnetworks@1.3-service-sample-float-slow \
93    android.hardware.neuralnetworks@1.3-service-sample-minimal \
94    android.hardware.neuralnetworks@1.3-service-sample-quant
95
96PRODUCT_PACKAGES += \
97    android.hardware.keymaster@4.1-service
98
99PRODUCT_PACKAGES += \
100    DisplayCutoutEmulationEmu01Overlay \
101    NavigationBarMode2ButtonOverlay \
102
103ifneq ($(EMULATOR_VENDOR_NO_GNSS),true)
104PRODUCT_PACKAGES += android.hardware.gnss@2.0-service.ranchu
105endif
106
107ifneq ($(EMULATOR_VENDOR_NO_SENSORS),true)
108PRODUCT_PACKAGES += \
109    android.hardware.sensors@2.1-service.multihal \
110    android.hardware.sensors@2.1-impl.ranchu
111# TODO(rkir):
112# add a soong namespace and move this into a.h.sensors@2.1-impl.ranchu
113# as prebuilt_etc. For now soong_namespace causes a build break because the fw
114# refers to our wifi HAL in random places.
115PRODUCT_COPY_FILES += \
116    device/generic/goldfish/sensors/hals.conf:$(TARGET_COPY_OUT_VENDOR)/etc/sensors/hals.conf
117endif
118
119PRODUCT_PACKAGES += \
120    android.hardware.drm@1.0-service \
121    android.hardware.drm@1.0-impl \
122    android.hardware.drm@1.3-service.clearkey \
123    android.hardware.drm@1.3-service.widevine
124
125PRODUCT_PACKAGES += \
126    android.hardware.power-service.example \
127
128PRODUCT_PROPERTY_OVERRIDES += ro.control_privapp_permissions=enforce
129PRODUCT_PROPERTY_OVERRIDES += ro.hardware.power=ranchu
130PRODUCT_PROPERTY_OVERRIDES += ro.crypto.volume.filenames_mode=aes-256-cts
131
132PRODUCT_PROPERTY_OVERRIDES += persist.sys.zram_enabled=1 \
133
134PRODUCT_PACKAGES += \
135    android.hardware.dumpstate@1.1-service.example \
136
137# Prevent logcat from getting canceled early on in boot
138PRODUCT_PROPERTY_OVERRIDES += ro.logd.size=1M \
139
140ifneq ($(EMULATOR_VENDOR_NO_CAMERA),true)
141PRODUCT_PACKAGES += \
142    camera.device@1.0-impl \
143    android.hardware.camera.provider@2.4-service \
144    android.hardware.camera.provider@2.4-impl \
145    camera.ranchu \
146    camera.ranchu.jpeg \
147    android.hardware.camera.provider@2.6-service-google \
148    libgooglecamerahwl_impl \
149    android.hardware.camera.provider@2.6-impl-google
150DEVICE_MANIFEST_FILE += device/generic/goldfish/manifest.camera.xml
151endif
152
153ifneq ($(EMULATOR_VENDOR_NO_SOUND),true)
154PRODUCT_PACKAGES += \
155    android.hardware.audio.service.ranchu \
156    android.hardware.soundtrigger@2.2-impl.ranchu \
157    android.hardware.audio.effect@6.0-impl \
158
159PRODUCT_COPY_FILES += \
160    device/generic/goldfish/audio/policy/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
161    device/generic/goldfish/audio/policy/primary_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/primary_audio_policy_configuration.xml \
162    frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
163    frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
164    frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
165    frameworks/av/media/libeffects/data/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \
166
167endif
168
169PRODUCT_PACKAGES += \
170    android.hardware.gatekeeper@1.0-service.software
171
172# WiFi: vendor side
173PRODUCT_PACKAGES += \
174	mac80211_create_radios \
175	createns \
176	dhcpclient \
177	execns \
178	hostapd \
179	hostapd_nohidl \
180	netmgr \
181	wifi_forwarder \
182	wpa_supplicant \
183
184PRODUCT_PACKAGES += \
185    android.hardware.usb@1.0-service
186
187# Thermal
188PRODUCT_PACKAGES += \
189	android.hardware.thermal@2.0-service.mock
190
191# Atrace
192PRODUCT_PACKAGES += \
193	android.hardware.atrace@1.0-service
194
195# Vibrator
196PRODUCT_PACKAGES += \
197	android.hardware.vibrator-service.example
198
199# Authsecret
200PRODUCT_PACKAGES += \
201    android.hardware.authsecret@1.0-service
202
203# Identity
204PRODUCT_PACKAGES += \
205    android.hardware.identity-service.example
206
207# Input Classifier HAL
208PRODUCT_PACKAGES += \
209    android.hardware.input.classifier@1.0-service.default
210
211# lights
212PRODUCT_PACKAGES += \
213    android.hardware.lights-service.example
214
215# power stats
216PRODUCT_PACKAGES += \
217    android.hardware.power.stats@1.0-service.mock
218
219# Reboot escrow
220PRODUCT_PACKAGES += \
221    android.hardware.rebootescrow-service.default
222
223# Extension implementation for Jetpack WindowManager
224PRODUCT_PACKAGES += \
225    androidx.window.sidecar
226
227PRODUCT_PACKAGES += \
228    android.hardware.biometrics.face@1.0-service.example
229
230PRODUCT_PACKAGES += \
231    android.hardware.contexthub@1.1-service.mock
232
233# Goldfish does not support ION needed for Codec 2.0
234# still disable it until b/143473631 is fixed
235# now this is setup on init.ranchu.rc
236# -qemu -append qemu.media.ccodec=<value> can override it; default 0
237#PRODUCT_PROPERTY_OVERRIDES += \
238#    debug.stagefright.ccodec=0
239
240# Enable Incremental on the device via kernel driver
241PRODUCT_PROPERTY_OVERRIDES += ro.incremental.enable=yes
242
243
244PRODUCT_COPY_FILES += \
245    device/generic/goldfish/data/etc/dtb.img:dtb.img \
246    device/generic/goldfish/data/etc/apns-conf.xml:data/misc/apns/apns-conf.xml \
247    device/generic/goldfish/radio/RadioConfig/radioconfig.xml:data/misc/emulator/config/radioconfig.xml \
248    device/generic/goldfish/data/etc/local.prop:data/local.prop \
249    device/generic/goldfish/init.ranchu-core.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.ranchu-core.sh \
250    device/generic/goldfish/init.ranchu-net.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.ranchu-net.sh \
251    device/generic/goldfish/wifi/init.wifi.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.wifi.sh \
252    device/generic/goldfish/init.ranchu.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.ranchu.rc \
253    device/generic/goldfish/fstab.ranchu:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.ranchu \
254    device/generic/goldfish/ueventd.ranchu.rc:$(TARGET_COPY_OUT_VENDOR)/ueventd.rc \
255    device/generic/goldfish/input/goldfish_rotary.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/goldfish_rotary.idc \
256    device/generic/goldfish/input/qwerty2.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/qwerty2.idc \
257    device/generic/goldfish/input/qwerty.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/qwerty.kl \
258    device/generic/goldfish/input/virtio_input_multi_touch_1.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/virtio_input_multi_touch_1.idc \
259    device/generic/goldfish/input/virtio_input_multi_touch_2.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/virtio_input_multi_touch_2.idc \
260    device/generic/goldfish/input/virtio_input_multi_touch_3.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/virtio_input_multi_touch_3.idc \
261    device/generic/goldfish/input/virtio_input_multi_touch_4.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/virtio_input_multi_touch_4.idc \
262    device/generic/goldfish/input/virtio_input_multi_touch_5.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/virtio_input_multi_touch_5.idc \
263    device/generic/goldfish/input/virtio_input_multi_touch_6.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/virtio_input_multi_touch_6.idc \
264    device/generic/goldfish/input/virtio_input_multi_touch_7.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/virtio_input_multi_touch_7.idc \
265    device/generic/goldfish/input/virtio_input_multi_touch_8.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/virtio_input_multi_touch_8.idc \
266    device/generic/goldfish/input/virtio_input_multi_touch_9.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/virtio_input_multi_touch_9.idc \
267    device/generic/goldfish/input/virtio_input_multi_touch_10.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/virtio_input_multi_touch_10.idc \
268    device/generic/goldfish/input/virtio_input_multi_touch_11.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/virtio_input_multi_touch_11.idc \
269    device/generic/goldfish/data/etc/config.ini:config.ini \
270    device/generic/goldfish/wifi/simulated_hostapd.conf:$(TARGET_COPY_OUT_VENDOR)/etc/simulated_hostapd.conf \
271    device/generic/goldfish/wifi/wpa_supplicant.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant.conf \
272    device/generic/goldfish/wifi/WifiConfigStore.xml:data/misc/wifi/WifiConfigStore.xml \
273    frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml \
274    frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \
275    system/bt/vendor_libs/test_vendor_lib/data/controller_properties.json:vendor/etc/bluetooth/controller_properties.json \
276    frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
277    frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml \
278    frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \
279    device/generic/goldfish/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml \
280    device/generic/goldfish/camera/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml \
281    frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \
282    frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \
283    device/generic/goldfish/camera/media_codecs_google_video_default.xml:${TARGET_COPY_OUT_VENDOR}/etc/media_codecs_google_video.xml \
284    device/generic/goldfish/camera/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
285    device/generic/goldfish/camera/media_codecs_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml \
286    frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \
287    frameworks/native/data/etc/android.hardware.camera.ar.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.ar.xml \
288    frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.flash-autofocus.xml \
289    frameworks/native/data/etc/android.hardware.camera.concurrent.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.concurrent.xml \
290    frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \
291    frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml \
292    frameworks/native/data/etc/android.hardware.camera.raw.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.raw.xml \
293    frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml \
294    frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \
295    frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute.xml \
296    frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \
297    device/generic/goldfish/data/etc/android.software.vulkan.deqp.level-2019-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level-2019-03-01.xml \
298    frameworks/native/data/etc/android.software.autofill.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.autofill.xml \
299    frameworks/native/data/etc/android.software.verified_boot.xml:${TARGET_COPY_OUT_PRODUCT}/etc/permissions/android.software.verified_boot.xml \
300    device/generic/goldfish/data/etc/permissions/privapp-permissions-goldfish.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/privapp-permissions-goldfish.xml \
301    hardware/google/camera/devices/EmulatedCamera/hwl/configs/emu_camera_back.json:$(TARGET_COPY_OUT_VENDOR)/etc/config/emu_camera_back.json \
302    hardware/google/camera/devices/EmulatedCamera/hwl/configs/emu_camera_front.json:$(TARGET_COPY_OUT_VENDOR)/etc/config/emu_camera_front.json \
303    hardware/google/camera/devices/EmulatedCamera/hwl/configs/emu_camera_depth.json:$(TARGET_COPY_OUT_VENDOR)/etc/config/emu_camera_depth.json \
304
305# Windowing settings config files
306PRODUCT_COPY_FILES += \
307    device/generic/goldfish/display_settings_freeform.xml:$(TARGET_COPY_OUT_DATA)/system/display_settings_freeform.xml
308