1# 2# Copyright (C) 2023 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_SHIPPING_API_LEVEL := 35 25PRODUCT_FULL_TREBLE_OVERRIDE := true 26DEVICE_MANIFEST_FILE += device/generic/goldfish/manifest.xml 27 28PRODUCT_SOONG_NAMESPACES += \ 29 device/generic/goldfish \ 30 device/generic/goldfish-opengl 31 32TARGET_USES_MKE2FS := true 33 34# Set Vendor SPL to match platform 35VENDOR_SECURITY_PATCH = $(PLATFORM_SECURITY_PATCH) 36 37# RKPD 38PRODUCT_PRODUCT_PROPERTIES += \ 39 remote_provisioning.enable_rkpd=true \ 40 remote_provisioning.hostname=remoteprovisioning.googleapis.com 41 42PRODUCT_PACKAGES += \ 43 hwservicemanager \ 44 android.hidl.allocator@1.0-service 45 46 47PRODUCT_VENDOR_PROPERTIES += \ 48 ro.control_privapp_permissions=enforce \ 49 ro.crypto.dm_default_key.options_format.version=2 \ 50 ro.crypto.volume.filenames_mode=aes-256-cts \ 51 ro.hardware.audio.tinyalsa.period_count=4 \ 52 ro.hardware.audio.tinyalsa.period_size_multiplier=2 \ 53 ro.hardware.audio.tinyalsa.host_latency_ms=80 \ 54 ro.hardware.power=ranchu \ 55 ro.incremental.enable=yes \ 56 ro.logd.size=1M \ 57 ro.kernel.qemu=1 \ 58 ro.soc.manufacturer=AOSP \ 59 ro.soc.model=ranchu \ 60 ro.surface_flinger.has_HDR_display=false \ 61 ro.surface_flinger.has_wide_color_display=false \ 62 ro.surface_flinger.protected_contents=false \ 63 ro.surface_flinger.supports_background_blur=1 \ 64 ro.surface_flinger.use_color_management=false \ 65 ro.zygote.disable_gl_preload=1 \ 66 debug.renderengine.backend=skiaglthreaded \ 67 debug.sf.vsync_reactor_ignore_present_fences=true \ 68 debug.stagefright.c2inputsurface=-1 \ 69 debug.stagefright.ccodec=4 \ 70 graphics.gpu.profiler.support=true \ 71 persist.sys.usb.config="" \ 72 persist.sys.zram_enabled=1 \ 73 wifi.direct.interface=p2p-dev-wlan0 \ 74 wifi.interface=wlan0 \ 75 76# Device modules 77PRODUCT_PACKAGES += \ 78 android.hardware.drm-service-lazy.clearkey \ 79 android.hardware.gatekeeper@1.0-service.software \ 80 android.hardware.usb-service.example \ 81 vulkan.ranchu \ 82 libandroidemu \ 83 libOpenglCodecCommon \ 84 libOpenglSystemCommon \ 85 qemu-props \ 86 stagefright \ 87 android.hardware.graphics.composer3-service.ranchu \ 88 toybox_vendor \ 89 android.hardware.wifi-service \ 90 android.hardware.media.c2@1.0-service-goldfish \ 91 libcodec2_goldfish_vp8dec \ 92 libcodec2_goldfish_vp9dec \ 93 libcodec2_goldfish_avcdec \ 94 libcodec2_goldfish_hevcdec \ 95 sh_vendor \ 96 local_time.default \ 97 SdkSetup \ 98 goldfish_overlay_connectivity_gsi \ 99 RanchuCommonOverlay \ 100 libGoldfishProfiler \ 101 dlkm_loader 102 103ifneq ($(filter %_minigbm, $(TARGET_PRODUCT)),) 104PRODUCT_VENDOR_PROPERTIES += ro.hardware.gralloc=minigbm 105PRODUCT_PACKAGES += \ 106 android.hardware.graphics.allocator-service.minigbm \ 107 android.hardware.graphics.mapper@4.0-impl.minigbm \ 108 mapper.minigbm 109else 110PRODUCT_VENDOR_PROPERTIES += ro.hardware.gralloc=ranchu 111PRODUCT_PACKAGES += \ 112 android.hardware.graphics.allocator@3.0-service.ranchu \ 113 android.hardware.graphics.mapper@3.0-impl-ranchu 114endif 115 116ifneq ($(EMULATOR_DISABLE_RADIO),true) 117PRODUCT_PACKAGES += \ 118 libcuttlefish-ril-2 \ 119 libgoldfish-rild \ 120 EmulatorRadioConfig \ 121 EmulatorTetheringConfigOverlay 122 123DEVICE_MANIFEST_FILE += device/generic/goldfish/radio/manifest.radio.xml 124DISABLE_RILD_OEM_HOOK := true 125endif 126 127ifneq ($(EMULATOR_VENDOR_NO_BIOMETRICS), true) 128PRODUCT_PACKAGES += \ 129 android.hardware.biometrics.fingerprint-service.ranchu \ 130 android.hardware.biometrics.face-service.example \ 131 132PRODUCT_COPY_FILES += \ 133 frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml \ 134 frameworks/native/data/etc/android.hardware.biometrics.face.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.biometrics.face.xml \ 135 136endif 137 138ifneq ($(BUILD_EMULATOR_OPENGL),false) 139PRODUCT_PACKAGES += \ 140 libGLESv1_CM_emulation \ 141 lib_renderControl_enc \ 142 libEGL_emulation \ 143 libGLESv2_enc \ 144 libvulkan_enc \ 145 libGLESv2_emulation \ 146 libGLESv1_enc \ 147 libEGL_angle \ 148 libGLESv1_CM_angle \ 149 libGLESv2_angle 150endif 151 152# Enable bluetooth 153PRODUCT_PACKAGES += \ 154 android.hardware.bluetooth-service.default \ 155 android.hardware.bluetooth.audio-impl \ 156 bt_vhci_forwarder \ 157 158# Bluetooth hardware properties. 159ifeq ($(TARGET_PRODUCT_PROP),) 160TARGET_PRODUCT_PROP := $(LOCAL_PATH)/bluetooth.prop 161endif 162 163PRODUCT_PACKAGES += \ 164 android.hardware.security.keymint-service 165PRODUCT_COPY_FILES += \ 166 frameworks/native/data/etc/android.hardware.keystore.app_attest_key.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.keystore.app_attest_key.xml 167 168PRODUCT_PACKAGES += \ 169 DisplayCutoutEmulationEmu01Overlay \ 170 EmulationPixelFoldOverlay \ 171 SystemUIEmulationPixelFoldOverlay \ 172 EmulationPixel8ProOverlay \ 173 SystemUIEmulationPixel8ProOverlay \ 174 EmulationPixel8aOverlay \ 175 SystemUIEmulationPixel8aOverlay \ 176 EmulationPixel8Overlay \ 177 SystemUIEmulationPixel8Overlay \ 178 EmulationPixel7ProOverlay \ 179 SystemUIEmulationPixel7ProOverlay \ 180 EmulationPixel7Overlay \ 181 SystemUIEmulationPixel7Overlay \ 182 EmulationPixel7aOverlay \ 183 SystemUIEmulationPixel7aOverlay \ 184 EmulationPixel6ProOverlay \ 185 SystemUIEmulationPixel6ProOverlay \ 186 EmulationPixel6Overlay \ 187 SystemUIEmulationPixel6Overlay \ 188 EmulationPixel6aOverlay \ 189 SystemUIEmulationPixel6aOverlay \ 190 EmulationPixel5Overlay \ 191 SystemUIEmulationPixel5Overlay \ 192 EmulationPixel4XLOverlay \ 193 SystemUIEmulationPixel4XLOverlay \ 194 EmulationPixel4Overlay \ 195 SystemUIEmulationPixel4Overlay \ 196 EmulationPixel4aOverlay \ 197 SystemUIEmulationPixel4aOverlay \ 198 EmulationPixel3XLOverlay \ 199 SystemUIEmulationPixel3XLOverlay \ 200 EmulationPixel3Overlay \ 201 SystemUIEmulationPixel3Overlay \ 202 EmulationPixel3aOverlay \ 203 SystemUIEmulationPixel3aOverlay \ 204 EmulationPixel3aXLOverlay \ 205 SystemUIEmulationPixel3aXLOverlay \ 206 EmulationPixel2XLOverlay \ 207 NavigationBarMode2ButtonOverlay \ 208 209ifneq ($(EMULATOR_VENDOR_NO_GNSS),true) 210PRODUCT_PACKAGES += android.hardware.gnss-service.ranchu 211endif 212 213ifneq ($(EMULATOR_VENDOR_NO_SENSORS),true) 214PRODUCT_PACKAGES += \ 215 android.hardware.sensors-service.multihal \ 216 android.hardware.sensors@2.1-impl.ranchu 217# TODO(rkir): 218# add a soong namespace and move this into a.h.sensors@2.1-impl.ranchu 219# as prebuilt_etc. For now soong_namespace causes a build break because the fw 220# refers to our wifi HAL in random places. 221PRODUCT_COPY_FILES += \ 222 device/generic/goldfish/sensors/hals.conf:$(TARGET_COPY_OUT_VENDOR)/etc/sensors/hals.conf 223endif 224 225ifneq ($(EMULATOR_VENDOR_NO_CAMERA),true) 226PRODUCT_SOONG_NAMESPACES += \ 227 hardware/google/camera \ 228 hardware/google/camera/devices/EmulatedCamera \ 229 230PRODUCT_PACKAGES += \ 231 android.hardware.camera.provider.ranchu \ 232 android.hardware.camera.provider@2.7-service-google \ 233 libgooglecamerahwl_impl \ 234 235PRODUCT_COPY_FILES += \ 236 device/generic/goldfish/camera/media/profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml \ 237 device/generic/goldfish/camera/media/codecs_google_video_default.xml:${TARGET_COPY_OUT_VENDOR}/etc/media_codecs_google_video.xml \ 238 device/generic/goldfish/camera/media/codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \ 239 device/generic/goldfish/camera/media/codecs_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml \ 240 device/generic/goldfish/camera/media/codecs_performance_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_c2.xml \ 241 frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.flash-autofocus.xml \ 242 frameworks/native/data/etc/android.hardware.camera.concurrent.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.concurrent.xml \ 243 frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \ 244 frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml \ 245 frameworks/native/data/etc/android.hardware.camera.raw.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.raw.xml \ 246 hardware/google/camera/devices/EmulatedCamera/hwl/configs/emu_camera_back.json:$(TARGET_COPY_OUT_VENDOR)/etc/config/emu_camera_back.json \ 247 hardware/google/camera/devices/EmulatedCamera/hwl/configs/emu_camera_front.json:$(TARGET_COPY_OUT_VENDOR)/etc/config/emu_camera_front.json \ 248 hardware/google/camera/devices/EmulatedCamera/hwl/configs/emu_camera_depth.json:$(TARGET_COPY_OUT_VENDOR)/etc/config/emu_camera_depth.json \ 249 250endif 251 252ifneq ($(EMULATOR_VENDOR_NO_SOUND),true) 253PRODUCT_PACKAGES += \ 254 android.hardware.audio.service \ 255 android.hardware.audio@7.1-impl.ranchu \ 256 android.hardware.audio.effect@7.0-impl \ 257 258DEVICE_MANIFEST_FILE += device/generic/goldfish/audio/android.hardware.audio.effects@7.0.xml 259 260PRODUCT_COPY_FILES += \ 261 device/generic/goldfish/audio/policy/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \ 262 device/generic/goldfish/audio/policy/primary_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/primary_audio_policy_configuration.xml \ 263 frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration_7_0.xml \ 264 frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \ 265 frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \ 266 frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \ 267 frameworks/av/media/libeffects/data/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \ 268 269endif 270 271# WiFi: vendor side 272PRODUCT_PACKAGES += \ 273 mac80211_create_radios \ 274 dhcpclient \ 275 hostapd \ 276 wpa_supplicant \ 277 278# Window Extensions 279$(call inherit-product, $(SRC_TARGET_DIR)/product/window_extensions.mk) 280 281# "Hello, world!" HAL implementations, mostly for compliance 282PRODUCT_PACKAGES += \ 283 android.hardware.atrace@1.0-service \ 284 com.android.hardware.authsecret \ 285 android.hardware.contexthub-service.example \ 286 android.hardware.dumpstate-service.example \ 287 android.hardware.health-service.example \ 288 android.hardware.health.storage-service.default \ 289 android.hardware.lights-service.example \ 290 com.android.hardware.neuralnetworks \ 291 android.hardware.power-service.example \ 292 android.hardware.power.stats-service.example \ 293 com.android.hardware.rebootescrow \ 294 android.hardware.thermal@2.0-service.mock \ 295 android.hardware.vibrator-service.example 296 297# TVs don't use a hardware identity service. 298ifneq ($(PRODUCT_IS_ATV_SDK),true) 299 PRODUCT_PACKAGES += \ 300 android.hardware.identity-service.example 301endif 302 303PRODUCT_COPY_FILES += \ 304 device/generic/goldfish/data/empty_data_disk:data/empty_data_disk \ 305 device/generic/goldfish/data/etc/dtb.img:dtb.img \ 306 device/generic/goldfish/data/etc/encryptionkey.img:encryptionkey.img \ 307 device/generic/goldfish/emulator-info.txt:data/misc/emulator/version.txt \ 308 device/generic/goldfish/data/etc/apns-conf.xml:data/misc/apns/apns-conf.xml \ 309 device/generic/goldfish/radio/RadioConfig/radioconfig.xml:data/misc/emulator/config/radioconfig.xml \ 310 device/generic/goldfish/data/etc/iccprofile_for_sim0.xml:data/misc/modem_simulator/iccprofile_for_sim0.xml \ 311 device/google/cuttlefish/host/commands/modem_simulator/files/iccprofile_for_sim0_for_CtsCarrierApiTestCases.xml:data/misc/modem_simulator/iccprofile_for_carrierapitests.xml \ 312 device/generic/goldfish/data/etc/numeric_operator.xml:data/misc/modem_simulator/etc/modem_simulator/files/numeric_operator.xml \ 313 device/generic/goldfish/data/etc/local.prop:data/local.prop \ 314 device/generic/goldfish/init.ranchu.adb.setup.sh:$(TARGET_COPY_OUT_SYSTEM_EXT)/bin/init.ranchu.adb.setup.sh \ 315 device/generic/goldfish/init_ranchu_device_state.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init_ranchu_device_state.sh \ 316 device/generic/goldfish/init.ranchu-core.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.ranchu-core.sh \ 317 device/generic/goldfish/init.ranchu-net.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.ranchu-net.sh \ 318 device/generic/goldfish/init.ranchu.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.ranchu.rc \ 319 device/generic/goldfish/init.system_ext.rc:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/init/init.system_ext.rc \ 320 device/generic/goldfish/ueventd.ranchu.rc:$(TARGET_COPY_OUT_VENDOR)/etc/ueventd.rc \ 321 device/generic/goldfish/input/virtio_input_rotary.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/virtio_input_rotary.idc \ 322 device/generic/goldfish/input/qwerty2.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/qwerty2.idc \ 323 device/generic/goldfish/input/qwerty2.kcm:$(TARGET_COPY_OUT_VENDOR)/usr/keychars/qwerty2.kcm \ 324 device/generic/goldfish/input/qwerty2.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/qwerty2.kl \ 325 device/generic/goldfish/input/virtio_input_multi_touch_1.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/virtio_input_multi_touch_1.idc \ 326 device/generic/goldfish/input/virtio_input_multi_touch_2.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/virtio_input_multi_touch_2.idc \ 327 device/generic/goldfish/input/virtio_input_multi_touch_3.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/virtio_input_multi_touch_3.idc \ 328 device/generic/goldfish/input/virtio_input_multi_touch_4.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/virtio_input_multi_touch_4.idc \ 329 device/generic/goldfish/input/virtio_input_multi_touch_5.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/virtio_input_multi_touch_5.idc \ 330 device/generic/goldfish/input/virtio_input_multi_touch_6.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/virtio_input_multi_touch_6.idc \ 331 device/generic/goldfish/input/virtio_input_multi_touch_7.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/virtio_input_multi_touch_7.idc \ 332 device/generic/goldfish/input/virtio_input_multi_touch_8.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/virtio_input_multi_touch_8.idc \ 333 device/generic/goldfish/input/virtio_input_multi_touch_9.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/virtio_input_multi_touch_9.idc \ 334 device/generic/goldfish/input/virtio_input_multi_touch_10.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/virtio_input_multi_touch_10.idc \ 335 device/generic/goldfish/input/virtio_input_multi_touch_11.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/virtio_input_multi_touch_11.idc \ 336 device/generic/goldfish/display_settings_app_compat.xml:$(TARGET_COPY_OUT_VENDOR)/etc/display_settings_app_compat.xml \ 337 device/generic/goldfish/display_settings_freeform.xml:$(TARGET_COPY_OUT_VENDOR)/etc/display_settings_freeform.xml \ 338 device/generic/goldfish/display_settings.xml:$(TARGET_COPY_OUT_VENDOR)/etc/display_settings.xml \ 339 device/generic/goldfish/pixel_fold/device_state_configuration.xml:/data/misc/pixel_fold/devicestate/device_state_configuration.xml \ 340 device/generic/goldfish/pixel_fold/display_layout_configuration.xml:/data/misc/pixel_fold/displayconfig/display_layout_configuration.xml \ 341 device/generic/goldfish/pixel_fold/display_settings.xml:/data/misc/pixel_fold/display_settings.xml \ 342 device/generic/goldfish/pixel_fold/sensor_hinge_angle.xml:/data/misc/pixel_fold/extra_feature.xml \ 343 device/generic/goldfish/data/etc/config.ini:config.ini \ 344 device/generic/goldfish/wifi/wpa_supplicant.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant.conf \ 345 frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml \ 346 frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \ 347 frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \ 348 frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml \ 349 frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \ 350 frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \ 351 frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \ 352 frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \ 353 frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \ 354 frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute.xml \ 355 frameworks/native/data/etc/android.hardware.vulkan.version-1_3.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \ 356 frameworks/native/data/etc/android.software.vulkan.deqp.level-latest.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \ 357 frameworks/native/data/etc/android.software.opengles.deqp.level-latest.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml \ 358 frameworks/native/data/etc/android.software.autofill.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.autofill.xml \ 359 frameworks/native/data/etc/android.software.verified_boot.xml:${TARGET_COPY_OUT_PRODUCT}/etc/permissions/android.software.verified_boot.xml \ 360 device/generic/goldfish/data/etc/permissions/privapp-permissions-goldfish.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/privapp-permissions-goldfish.xml \ 361 362ifneq ($(EMULATOR_DISABLE_RADIO),true) 363# Android TV ingests this file, but declares its own set of hardware permissions. 364ifneq ($(PRODUCT_IS_ATV_SDK),true) 365 PRODUCT_COPY_FILES+= \ 366 device/generic/goldfish/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml 367endif 368endif 369 370# Goldfish uses 6.X kernels. 371PRODUCT_ENABLE_UFFD_GC := true 372