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