过去三天我一直被这个问题困扰。我有一台新笔记本电脑,配备 Nvidia RTX 4050 和 16GB RAM 的 Intel i5。我已经安装了 Android 模拟器的所有要求(SDK、系统映像等),但是当我尝试使用 Pixel 8 API 34 映像运行模拟器时,我可以看到模拟设备的边框为黑屏和一些关闭后几秒钟。
当我尝试从 CLI 运行模拟器时附加日志
INFO | Storing crashdata in: C:\Users\rosun\AppData\Local\Temp\\AndroidEmulator\emu-crash-34.2.15.db, detection is enabled for process: 12680
INFO | Android emulator version 34.2.15.0 (build_id 11906825) (CL:N/A)
DEBUG | Current emulator version 34.2.15 is the same as the required version 34.2.15.
INFO | Found AVD name 'pixel_8_api_34'
INFO | Found AVD target architecture: x86_64
INFO | argv[0]: 'emulator.exe'; program directory: 'C:\Users\rosun\AppData\Local\Android\Sdk\emulator'
INFO | Found systemPath C:\Users\rosun\AppData\Local\Android\Sdk\system-images\android-34\google_apis_playstore\x86_64\
INFO | Storing crashdata in: C:\Users\rosun\AppData\Local\Temp\\AndroidEmulator\emu-crash-34.2.15.db, detection is enabled for process: 12744
INFO | Duplicate loglines will be removed, if you wish to see each individual line launch with the -log-nofilter flag.
DEBUG | autoconfig: -skin pixel_8
DEBUG | autoconfig: -skindir C:\Users\rosun\AppData\Local\Android\Sdk\skins\
DEBUG | querying file version info API...
DEBUG | found kernelbase.dll
DEBUG | GetFileVersionInfoSizeW found. On Windows 10?
DEBUG | GetFileVersionInfoW found. On Windows 10?
DEBUG | VerQueryValueW found. Can query file versions
DEBUG | queryFileVersionInfo: path not found: amdvlk64.dll
DEBUG | querying file version info API...
DEBUG | queryFileVersionInfo: path not found: amdvlk32.dll
DEBUG | querying file version info API...
DEBUG | autoconfig: -kernel C:\Users\rosun\AppData\Local\Android\Sdk\system-images\android-34\google_apis_playstore\x86_64\\kernel-ranchu
DEBUG | Target arch = 'x86_64'
DEBUG | Auto-detect: Kernel image requires new device naming scheme.
DEBUG | Auto-detect: Kernel does not support YAFFS2 partitions.
DEBUG | autoconfig: -ramdisk C:\Users\rosun\AppData\Local\Android\Sdk\system-images\android-34\google_apis_playstore\x86_64\\ramdisk.img
DEBUG | Using initial system image: C:\Users\rosun\AppData\Local\Android\Sdk\system-images\android-34\google_apis_playstore\x86_64\\system.img
DEBUG | Using initial vendor image: C:\Users\rosun\AppData\Local\Android\Sdk\system-images\android-34\google_apis_playstore\x86_64\\vendor.img
DEBUG | autoconfig: -data C:\Users\rosun\.android\avd\..\avd\Pixel_8_API_34.avd\userdata-qemu.img
DEBUG | autoconfig: -initdata C:\Users\rosun\.android\avd\..\avd\Pixel_8_API_34.avd\userdata.img
DEBUG | autoconfig: -cache C:\Users\rosun\.android\avd\..\avd\Pixel_8_API_34.avd\cache.img
DEBUG | autoconfig: -sdcard C:\Users\rosun\.android\avd\..\avd\Pixel_8_API_34.avd\sdcard.img
DEBUG | Physical RAM size: 2048MB
DEBUG | VM heap size 256MB is below hardware specified minimum of 512MB,setting it to that value
DEBUG | System image is read only
DEBUG | CPU Acceleration: working
DEBUG | CPU Acceleration status: AEHD (version 2.2) is installed and usable.
DEBUG | handleCpuAcceleration: feature check for hvf
DEBUG | Bluetooth requested by guest
DEBUG | started modem simulator host server at port: 51653
INFO | Critical:
INFO | Warning:
INFO | Warning: (6x)
INFO | Crash reports will be automatically uploaded to: https://clients2.google.com/cr/report
library_mode swiftshader_indirect gpu mode swiftshader_indirect
DEBUG | GPU emulation enabled using 'swiftshader_indirect' mode
INFO | Initializing hardware OpenGLES emulation support
android_startOpenglesRenderer: gpu infoGPU #1
Make: 10de
Model: NVIDIA GeForce RTX 4050 Laptop GPU
Device ID: 28a1
I0623 09:02:38.035238 12748 HealthMonitor.cpp:279] HealthMonitor disabled.
DEBUG | create display 0
DEBUG | setDisplayPose 0 x 0 y 0 w 1080 h 2400 dpi 0
createGlobalVkEmulation:995 Selecting Vulkan device: NVIDIA GeForce RTX 4050 Laptop GPU
I0623 09:02:38.273869 12748 VkCommonOperations.cpp:1276] Initializing VkEmulation features:
I0623 09:02:38.273883 12748 VkCommonOperations.cpp:1277] glInteropSupported: false
I0623 09:02:38.273886 12748 VkCommonOperations.cpp:1278] useDeferredCommands: true
I0623 09:02:38.273890 12748 VkCommonOperations.cpp:1280] createResourceWithRequirements: true
I0623 09:02:38.273893 12748 VkCommonOperations.cpp:1281] useVulkanComposition: false
I0623 09:02:38.273895 12748 VkCommonOperations.cpp:1282] useVulkanNativeSwapchain: false
I0623 09:02:38.273897 12748 VkCommonOperations.cpp:1283] enable guestRenderDoc: false
I0623 09:02:38.273898 12748 VkCommonOperations.cpp:1284] ASTC LDR emulation mode: 2
I0623 09:02:38.273900 12748 VkCommonOperations.cpp:1285] enable ETC2 emulation: true
I0623 09:02:38.273902 12748 VkCommonOperations.cpp:1286] enable Ycbcr emulation: false
I0623 09:02:38.273904 12748 VkCommonOperations.cpp:1287] guestUsesAngle: false
I0623 09:02:38.273906 12748 VkCommonOperations.cpp:1288] useDedicatedAllocations: false
I0623 09:02:38.275908 12748 FrameBuffer.cpp:506] Graphics Adapter Vendor Google (Google Inc. (NVIDIA))
I0623 09:02:38.275918 12748 FrameBuffer.cpp:507] Graphics Adapter Android Emulator OpenGL ES Translator (ANGLE (NVIDIA, NVIDIA GeForce RTX 4050 Laptop GPU Direct3D11 vs_5_0 ps_5_0, D3D11-32.0.15.5599))
I0623 09:02:38.275921 12748 FrameBuffer.cpp:508] Graphics API Version OpenGL ES 3.0 (OpenGL ES 3.0.0 (ANGLE 2.1.17734 git hash: 1bd1a3db1c60))
DEBUG | Android qemu version 34.2.15.0 (build_id 11906825) (CL:N/A)
DEBUG | Starting QEMU main loop
DEBUG | android_fopen: Failed to open /qemu.conf, err: 2
DEBUG | registered 'boot-properties' qemud service
DEBUG | Adding boot property: 'ro.opengles.version' = '196608'
DEBUG | Adding boot property: 'qemu.sf.fake_camera' = 'front'
DEBUG | Adding boot property: 'qemu.adb.secure' = '1'
DEBUG | Adding boot property: 'dalvik.vm.heapsize' = '512m'
DEBUG | Adding boot property: 'qemu.hw.mainkeys' = '0'
DEBUG | Adding boot property: 'qemu.sf.lcd_density' = '420'
AEHD is operational
DEBUG | control console listening on port 5554, ADB on port 5555
DEBUG | goldfish_events.have-dpad: false
DEBUG | goldfish_events.have-trackball: false
DEBUG | goldfish_events.have-camera: true
DEBUG | goldfish_events.have-keyboard: false
DEBUG | goldfish_events.have-lidswitch: false
DEBUG | goldfish_events.have-tabletmode: false
DEBUG | goldfish_events.have-touch: false
DEBUG | goldfish_events.have-multitouch: false
DEBUG | Adding boot property: 'net.wifi_mac_prefix' = '5554'
host doesn't support requested feature: CPUID.01H:ECX.xsave [bit 26]
host doesn't support requested feature: CPUID.01H:ECX.avx [bit 28]
host doesn't support requested feature: CPUID.01H:ECX.xsave [bit 26]
host doesn't support requested feature: CPUID.01H:ECX.avx [bit 28]
host doesn't support requested feature: CPUID.01H:ECX.xsave [bit 26]
host doesn't support requested feature: CPUID.01H:ECX.avx [bit 28]
host doesn't support requested feature: CPUID.01H:ECX.xsave [bit 26]
host doesn't support requested feature: CPUID.01H:ECX.avx [bit 28]
INFO | Monitoring duration of emulator setup.
DEBUG | Adding boot property: 'qemu.timezone' = 'Unknown/Unknown'
DEBUG | android_hw_fingerprint_init: fingerprint qemud listen service initialized
INFO | Using security allow list from: C:\Users\rosun\AppData\Local\Android\Sdk\emulator\lib\emulator_access.json
INFO | The active JSON Web Key Sets can be found here: C:\Users\rosun\AppData\Local\Temp\avd\running\12744\jwks\40d1b054-25f5-4a29-8837-1d2d57ee9e9a\active.jwk
INFO | Scanning C:\Users\rosun\AppData\Local\Temp\avd\running\12744\jwks\40d1b054-25f5-4a29-8837-1d2d57ee9e9a for jwk keys.
INFO | Started GRPC server at 127.0.0.1:8554, security: Local, auth: +token
INFO | Advertising in: C:\Users\rosun\AppData\Local\Temp\avd\running\pid_12744.ini
DEBUG | Successfully initialized Wi-Fi
DEBUG | emulator_window_fb_rotate
I0623 09:02:38.493609 13384 FrameBuffer.cpp:2853] setDisplayConfigs w 1080 h 2400 dpiX 420 dpiY 420
DEBUG | setDisplayPose 0 x 0 y 0 w 1080 h 2400 dpi 0
I0623 09:02:38.493838 13384 FrameBuffer.cpp:2866] setDisplayActiveConfig 0
DEBUG | Adjusting window size by 0.38x for hw_lcd_density
DEBUG | no root specified:
DEBUG | Path:C:\Users\rosun\AppData\Local\Android\Sdk\platform-tools\adb.exe protocol version: 41
DEBUG | Path:C:\Users\rosun\AppData\Local\Android\Sdk\platform-tools\adb.exe protocol version: 41
DEBUG | Found: 2 adb executables
DEBUG | Adb: C:\Users\rosun\AppData\Local\Android\Sdk\platform-tools\adb.exe
DEBUG | Adb: C:\Users\rosun\AppData\Local\Android\Sdk\platform-tools\adb.exe
DEBUG | Path:C:\Users\rosun\AppData\Local\Android\Sdk\platform-tools\adb.exe protocol version: 41
DEBUG | Path:C:\Users\rosun\AppData\Local\Android\Sdk\platform-tools\adb.exe protocol version: 41
DEBUG | Window was not fully visible: monitor=[0,0,1920,1080] window=[100,100,409,864]
DEBUG | Window repositioned to [366,-716]
DEBUG | emulator window was out of view and was recentered
DEBUG | config multidisplay with config.ini 0x0 0x0 0x0
DEBUG | No acpi ini file provided, using default
DEBUG | added one RIL client
INFO | Loading snapshot 'default_boot'...
INFO | Activated packet streamer for bluetooth emulation
DEBUG | VirtIO WiFi: unexpected full virtqueue
DEBUG | No acpi ini file provided, using default
DEBUG | VirtIO WiFi: unexpected full virtqueue
DEBUG | VirtIO WiFi: unexpected full virtqueue (8x)
DEBUG | setDisplayPose 0 x -1 y -1 w 1080 h 2400 dpi 420
INFO | emuDirName: 'C:\Users\rosun\AppData\Local\Android\Sdk\emulator'
INFO | try dir C:\Users\rosun\AppData\Local\Android\Sdk\emulator
INFO | Trying emulator path 'C:\Users\rosun\AppData\Local\Android\Sdk\emulator\qemu\windows-x86_64\qemu-system-x86_64.exe'
INFO | Found target-specific 64-bit emulator binary: C:\Users\rosun\AppData\Local\Android\Sdk\emulator\qemu\windows-x86_64\qemu-system-x86_64.exe
INFO | Adding library search path: 'C:\Users\rosun\AppData\Local\Android\Sdk\emulator\lib64'
INFO | Adding library search path: 'C:\Users\rosun\AppData\Local\Android\Sdk\emulator\lib64\gles_swiftshader'
INFO | Quoted param: [C:\Users\rosun\AppData\Local\Android\Sdk\emulator\qemu\windows-x86_64\qemu-system-x86_64.exe]
INFO | Quoted param: [-verbose]
INFO | Quoted param: [-avd]
INFO | Quoted param: [pixel_8_api_34]
DEBUG | emulator: Running :C:\Users\rosun\AppData\Local\Android\Sdk\emulator\qemu\windows-x86_64\qemu-system-x86_64.exe
DEBUG | qemu backend: argv[00] = "C:\Users\rosun\AppData\Local\Android\Sdk\emulator\qemu\windows-x86_64\qemu-system-x86_64.exe"
DEBUG | qemu backend: argv[01] = "-verbose"
DEBUG | qemu backend: argv[02] = "-avd"
DEBUG | qemu backend: argv[03] = "pixel_8_api_34"
DEBUG | Concatenated backend parameters: C:\Users\rosun\AppData\Local\Android\Sdk\emulator\qemu\windows-x86_64\qemu-system-x86_64.exe -verbose -avd pixel_8_api_34
以及我从模拟器检查命令中收到的内容
emulator-check accel
accel:
0
AEHD (version 2.2) is installed and usable.
accel
emulator-check cpu-info
cpu-info:
146
Intel CPU|Virtualization is supported|Bare metal|64-bit CPU|
cpu-info
最后我能够使用下一个命令运行模拟器:
模拟器-verbose -avd Pixel_8_API_34 -gpu 主机
希望可以帮助到某人。