M1芯片Mac上Android Studio模拟器启动卡顿无响应求助
M1 Mac上Android模拟器启动卡顿无报错的排查与解决
问题描述
在搭载M1芯片的macOS 12.5.1系统中,运行Android Studio模拟器31.3.13.0版本,执行启动命令./emulator -avd Pixel_5_API_33 -verbose -show-kernel后,模拟器出现卡顿现象,且无任何报错信息,启动日志如下:
~/Library/Android/sdk/emulator$ ./emulator -avd Pixel_5_API_33 -verbose -show-kernel INFO | Android emulator version 31.3.13.0 (build_id 9189900) (CL:N/A) INFO | Found AVD name 'Pixel_5_API_33' INFO | Found AVD target architecture: arm64 INFO | argv[0]: './emulator'; program directory: '/Users/x/Library/Android/sdk/emulator' VERBOSE | Found directory: /Users/x/Library/Android/sdk/system-images/android-33/google_apis/arm64-v8a/ emulator: INFO: Found systemPath /Users/x/Library/Android/sdk/system-images/android-33/google_apis/arm64-v8a/ INFO | emuDirName: '/Users/x/Library/Android/sdk/emulator' INFO | try dir /Users/x/Library/Android/sdk/emulator INFO | Trying emulator path '/Users/x/Library/Android/sdk/emulator/qemu/darwin-aarch64/qemu-system-aarch64' INFO | Found target-specific 64-bit emulator binary: /Users/x/Library/Android/sdk/emulator/qemu/darwin-aarch64/qemu-system-aarch64 INFO | Adding library search path: '/Users/x/Library/Android/sdk/emulator/lib64' INFO | Adding library search path: '/Users/x/Library/Android/sdk/emulator/lib64/gles_angle' INFO | Adding library search path: '/Users/x/Library/Android/sdk/emulator/lib64/gles_angle9' INFO | Adding library search path: '/Users/x/Library/Android/sdk/emulator/lib64/gles_angle11' VERBOSE | Adding library search path for Qt: '/Users/x/Library/Android/sdk/emulator/lib64/qt/lib' VERBOSE | Silencing all qWarning(); use qCWarning(...) instead: QT_LOGGING_RULES=default.warning=false VERBOSE | Setting Qt plugin search path: QT_QPA_PLATFORM_PLUGIN_PATH=/Users/x/Library/Android/sdk/emulator/lib64/qt/plugins VERBOSE | Setting Qt to use software OpenGL: QT_OPENGL=software VERBOSE | Setting QML to use software QtQuick2D: QMLSCENE_DEVICE=softwarecontext VERBOSE | Overriding pre-existing bad Qt high dpi settings... VERBOSE | emulator: Running :/Users/x/Library/Android/sdk/emulator/qemu/darwin-aarch64/qemu-system-aarch64 VERBOSE | qemu backend: argv[00] = "/Users/x/Library/Android/sdk/emulator/qemu/darwin-aarch64/qemu-system-aarch64" VERBOSE | qemu backend: argv[01] = "-avd" VERBOSE | qemu backend: argv[02] = "Pixel_5_API_33" VERBOSE | qemu backend: argv[03] = "-verbose" VERBOSE | qemu backend: argv[04] = "-show-kernel" VERBOSE | Concatenated backend parameters: /Users/x/Library/Android/sdk/emulator/qemu/darwin-aarch64/qemu-system-aarch64 -avd Pixel_5_API_33 -verbose -show-kernel
解决方案
从日志可见,模拟器已正确识别arm64架构AVD,但启用了软件OpenGL渲染,这是M1 Mac上模拟器卡顿的核心诱因,以下是针对性修复步骤:
强制启用硬件加速OpenGL
启动时添加参数指定硬件渲染,替换原有命令为:./emulator -avd Pixel_5_API_33 -verbose -show-kernel -gpu host若仍有问题,可尝试备选参数
-gpu swiftshader_indirect。修改AVD配置文件实现永久生效
找到AVD配置文件(路径通常为~/.android/avd/Pixel_5_API_33.avd/config.ini),修改GPU模式参数:hw.gpu.mode=host保存后重启模拟器,无需每次手动添加启动参数。
更新模拟器至最新版本
通过Android Studio的SDK Manager将模拟器升级到最新稳定版,新版本针对M1芯片的兼容性与性能优化更完善。关闭系统性能限制
打开Mac系统偏好设置→电池,关闭“自动切换图形卡模式”(若存在),并确保未开启节能模式限制系统性能。调整模拟器内存分配
编辑AVD配置文件,根据Mac实际内存情况调整参数:hw.ramSize=2048 vm.heapSize=512避免分配过大内存导致系统资源不足。
内容的提问来源于stack exchange,提问作者user587155
相关产品推荐
相关产品推荐

