【问题标题】:Android Studio emulator: ERROR: detected a hanging thread QEMU2 main loopAndroid Studio 模拟器:错误:检测到挂起的线程 QEMU2 主循环
【发布时间】:2017-12-23 23:22:24
【问题描述】:

我在 Ubuntu 16.04 上使用 Android Studio 3.0.1。

昨天,Android Studio 弹出一条消息,说有可用的更新,我总是点击这些。然后它通知我它已成功更新模拟器。

我的 AVD 之前运行良好,但更新完成后,现在当我启动它时,它会在模拟器窗口中显示黑屏 15 秒,然后崩溃并显示以下错误消息:

ERROR: detected a hanging thread 'QEMU2 main loop'. No response for 15000 ms
Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)

我尝试了描述类似模拟器问题的所有线程中建议的解决方案。 (我验证模拟器仍然通过 SDK 管理器安装,我尝试在 AVD 的软件和硬件图形设置之间切换,我尝试用更新版本 6.0.24 替换 libstdc++,我尝试改为 ln -sf my / usr/lib.. libstdc++ 6.0.21 到 SDK 模拟器 lib64/libstdc++ 文件夹中,我什至下载了 Android Studio 并使用新下载的 SDK 使用自己的新 SDK 文件夹运行了全新安装,我尝试使用不同架构创建新的 AVD (arm)和不同的 API 级别(24、27),我尝试重新启动 ADB,甚至重新启动计算机。没有任何帮助。

我的 SDK 工具菜单没有仿真器加速器 (HAXM) 条目,尽管我的 PC 有一个 Intel CPU:我不应该更改它,因为我的 AVD 昨天才工作!什么坏了?

是什么导致“QEMU2 主循环”挂起,我该如何解决?

【问题讨论】:

    标签: android-emulator qemu


    【解决方案1】:

    这对我有用:

    我已经转到工具->AVD 管理器->编辑(特定的模拟器)>显示高级设置

    然后在模拟性能部分,我选择了快速启动,我将其更改为冷启动,一切都开始正常工作了。

    希望这会有所帮助。

    【讨论】:

    • 谢谢,它无法在 macOS 上运行,在更改为冷启动后它开始正常运行!
    【解决方案2】:

    我找到了一个临时解决方法 - 确保启用 IPv6。

    $ cat /proc/sys/net/ipv6/conf/all/disable_ipv6
    0
    

    如果您看到上面的 1,请编辑您的 /etc/sysctl.conf 文件并注释掉所有 IPv6 禁用指令:

    # net.ipv6.conf.all.disable_ipv6 = 1
    # net.ipv6.conf.default.disable_ipv6 = 1
    # net.ipv6.conf.lo.disable_ipv6 = 1
    

    2018 年 1 月 5 日更新:至少有一位用户报告说,禁用以前启用的 IPv6 已解决他系统上的问题。在这种情况下,如果您的系统上已启用 IPv6 并且模拟器没有启动,您可能需要尝试反转上述步骤。


    在我的 Ubuntu 16.04 上最近一次更新 Android SDK 后,我开始遇到完全相同的问题。可执行文件没有符号,所以我不确定如何将原始开发人员指向根本原因,但这里是线程状态:

    (gdb) info threads
      Id   Target Id         Frame 
      1    Thread 0x7f6d20428700 (LWP 14472) 0x00000000014e8baf in ?? ()
      2    Thread 0x7f6d20c29700 (LWP 14471) syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
    * 3    Thread 0x7f6d20c2ad00 (LWP 14470) 0x00007f6d258a27d1 in __GI_ppoll (fds=0x3842bf8, nfds=1, timeout=<optimized out>, sigmask=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:50
      4    Thread 0x7f6d1d427700 (LWP 14479) pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
      5    Thread 0x7f6d1649b700 (LWP 14483) pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
      6    Thread 0x7f6d05fe4700 (LWP 14487) __lll_lock_wait () at ../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
      7    Thread 0x7f6d16c9c700 (LWP 14482) __lll_lock_wait () at ../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
      8    Thread 0x7f6d1cc26700 (LWP 14480) pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
      9    Thread 0x7f6d1eda9700 (LWP 14478) 0x00007f6d258a270d in poll () at ../sysdeps/unix/syscall-template.S:84
      10   Thread 0x7f6d067e5700 (LWP 14486) 0x00007f6d280107cd in connect () at ../sysdeps/unix/syscall-template.S:84
      11   Thread 0x7f6d15c9a700 (LWP 14484) 0x00007f6d258a27d1 in __GI_ppoll (fds=0x7f6d10000aa0, nfds=5, timeout=<optimized out>, sigmask=0x0)
        at ../sysdeps/unix/sysv/linux/ppoll.c:50
      12   Thread 0x7f6cff7fe700 (LWP 14489) pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
      13   Thread 0x7f6cfffff700 (LWP 14488) 0x00007f6d258a270d in poll () at ../sysdeps/unix/syscall-template.S:84
      14   Thread 0x7f6cfeffd700 (LWP 14490) pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
      15   Thread 0x7f6cfe7fc700 (LWP 14492) 0x00007f6d280107cd in connect () at ../sysdeps/unix/syscall-template.S:84
      16   Thread 0x7f6cfdffb700 (LWP 14493) 0x00007f6d258a27d1 in __GI_ppoll (fds=0x7f6c78012818, nfds=3, timeout=<optimized out>, sigmask=0x0)
        at ../sysdeps/unix/sysv/linux/ppoll.c:50
      17   Thread 0x7f6c93dfe700 (LWP 14498) pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
    

    日志输出:

    emulator:Android emulator version 26.0.3.0 (build_id 3965150)
    emulator:Found AVD name 'Nexus_5X_API_25'
    emulator:Found AVD target architecture: x86_64
    emulator:argv[0]: './emulator'; program directory: '/home/sl/opt/android-sdk/tools'
    emulator:  Found directory: /home/sl/opt/android-sdk/system-images/android-25/google_apis/x86_64/
    
    emulator:Probing for /home/sl/opt/android-sdk/system-images/android-25/google_apis/x86_64//kernel-ranchu: file exists
    emulator:Auto-config: -engine qemu2 (based on configuration)
    emulator:  Found directory: /home/sl/opt/android-sdk/system-images/android-25/google_apis/x86_64/
    
    emulator:try dir /home/sl/opt/android-sdk/tools
    emulator:try dir ./
    emulator:try dir ../emulator
    emulator:Found target-specific 64-bit emulator binary: /home/sl/opt/android-sdk/tools/../emulator/qemu/linux-x86_64/qemu-system-x86_64
    emulator:Adding library search path: '../emulator/lib64'
    emulator:Adding library search path: '../emulator/lib64/gles_swiftshader'
    emulator:Adding library search path: '../emulator/lib64/gles_angle'
    emulator:Adding library search path: '../emulator/lib64/gles_angle9'
    emulator:Adding library search path: '../emulator/lib64/gles_angle11'
    emulator:Adding library search path: '../emulator/lib64/libstdc++'
    emulator: Adding library search path for Qt: '../emulator/lib64/qt/lib'
    emulator: Setting Qt plugin search path: QT_QPA_PLATFORM_PLUGIN_PATH=../emulator/lib64/qt/plugins
    emulator: Running :/home/sl/opt/android-sdk/tools/../emulator/qemu/linux-x86_64/qemu-system-x86_64
    emulator: qemu backend: argv[00] = "/home/sl/opt/android-sdk/tools/../emulator/qemu/linux-x86_64/qemu-system-x86_64"
    emulator: qemu backend: argv[01] = "-avd"
    emulator: qemu backend: argv[02] = "Nexus_5X_API_25"
    emulator: qemu backend: argv[03] = "-verbose"
    emulator: Concatenated backend parameters:
     /home/sl/opt/android-sdk/tools/../emulator/qemu/linux-x86_64/qemu-system-x86_64 -avd Nexus_5X_API_25 -verbose
    emulator: Android virtual device file at: /home/sl/.android/avd/Nexus_5X_API_25.ini
    emulator: virtual device content at /home/sl/.android/avd/Nexus_5X_API_25.avd
    emulator: virtual device config file: /home/sl/.android/avd/Nexus_5X_API_25.avd/config.ini
    emulator: using core hw config path: /home/sl/.android/avd/Nexus_5X_API_25.avd/hardware-qemu.ini
    emulator: using snapshot lock path: /home/sl/.android/avd/Nexus_5X_API_25.avd/snapshot.lock
    emulator: Found AVD target API level: 25
    emulator: Read property file at /home/sl/opt/android-sdk/system-images/android-25/google_apis/x86_64//build.prop
    emulator: No boot.prop property file found.
    emulator: Warning: config.ini contains invalid skin.path entry: _no_skin
    emulator: autoconfig: -skin 1080x1920
    emulator: autoconfig: -skindir (null)
    emulator: autoconfig: -kernel /home/sl/opt/android-sdk/system-images/android-25/google_apis/x86_64//kernel-ranchu
    emulator: Target arch = 'x86_64'
    emulator: Auto-detect: Kernel image requires new device naming scheme.
    emulator: Auto-detect: Kernel does not support YAFFS2 partitions.
    emulator: autoconfig: -ramdisk /home/sl/opt/android-sdk/system-images/android-25/google_apis/x86_64//ramdisk.img
    emulator: Using initial system image: /home/sl/opt/android-sdk/system-images/android-25/google_apis/x86_64//system.img
    emulator: No vendor image
    emulator: autoconfig: -data /home/sl/.android/avd/Nexus_5X_API_25.avd/userdata-qemu.img
    emulator: autoconfig: -initdata /home/sl/.android/avd/Nexus_5X_API_25.avd/userdata.img
    emulator: autoconfig: -cache /home/sl/.android/avd/Nexus_5X_API_25.avd/cache.img
    emulator: Physical RAM size: 1536MB
    
    emulator: VM heap size 256MB is below hardware specified minimum of 384MB,setting it to that value
    emulator: System image is read only
    emulator: Found 1 DNS servers: 127.0.1.1
    emulator: found magic skin width=1080 height=1920 bpp=16
    
    emulator: CPU Acceleration: working
    emulator: CPU Acceleration status: KVM (version 12) is installed and usable.
    emulator: GPU emulation enabled using 'host' mode
    emulator: Initializing hardware OpenGLES emulation support
    emulator: Found 1 DNS servers: 127.0.1.1
    Content of hardware configuration file:
      hw.cpu.arch = x86_64
      hw.cpu.ncore = 2
      hw.ramSize = 1536
      hw.screen = multi-touch
      hw.mainKeys = false
      hw.trackBall = false
      hw.keyboard = true
      hw.keyboard.lid = false
      hw.keyboard.charmap = qwerty2
      hw.dPad = false
      hw.rotaryInput = false
      hw.gsmModem = true
      hw.gps = true
      hw.battery = true
      hw.accelerometer = true
      hw.gyroscope = true
      hw.audioInput = true
      hw.audioOutput = true
      hw.sdCard = false
      disk.cachePartition = true
      disk.cachePartition.path = /home/sl/.android/avd/Nexus_5X_API_25.avd/cache.img
      disk.cachePartition.size = 66m
      hw.lcd.width = 1080
      hw.lcd.height = 1920
      hw.lcd.depth = 16
      hw.lcd.density = 420
      hw.lcd.backlight = true
      hw.gpu.enabled = true
      hw.gpu.mode = host
      hw.gpu.blacklisted = no
      hw.initialOrientation = Portrait
      hw.camera.back = none
      hw.camera.front = none
      vm.heapSize = 384
      hw.sensors.light = true
      hw.sensors.pressure = true
      hw.sensors.humidity = true
      hw.sensors.proximity = true
      hw.sensors.magnetic_field = true
      hw.sensors.magnetic_field_uncalibrated = true
      hw.sensors.gyroscope_uncalibrated = true
      hw.sensors.orientation = true
      hw.sensors.temperature = true
      hw.useext4 = true
      hw.arc = false
      hw.arc.autologin = false
      kernel.path = /home/sl/opt/android-sdk/system-images/android-25/google_apis/x86_64//kernel-ranchu
      kernel.newDeviceNaming = yes
      kernel.supportsYaffs2 = no
      disk.ramdisk.path = /home/sl/opt/android-sdk/system-images/android-25/google_apis/x86_64//ramdisk.img
      disk.systemPartition.initPath = /home/sl/opt/android-sdk/system-images/android-25/google_apis/x86_64//system.img
      disk.systemPartition.size = 2765m
      disk.vendorPartition.size = 0
      disk.dataPartition.path = /home/sl/.android/avd/Nexus_5X_API_25.avd/userdata-qemu.img
      disk.dataPartition.size = 800m
      disk.encryptionKeyPartition.path = /home/sl/.android/avd/Nexus_5X_API_25.avd/encryptionkey.img
      PlayStore.enabled = false
      avd.name = Nexus_5X_API_25
      fastboot.forceColdBoot = false
    .
    QEMU options list:
    emulator: argv[00] = "/home/sl/opt/android-sdk/tools/../emulator/qemu/linux-x86_64/qemu-system-x86_64"
    emulator: argv[01] = "-dns-server"
    emulator: argv[02] = "127.0.1.1"
    emulator: argv[03] = "-serial"
    emulator: argv[04] = "null"
    emulator: argv[05] = "-device"
    emulator: argv[06] = "goldfish_pstore,addr=0xff018000,size=0x10000,file=/home/sl/.android/avd/Nexus_5X_API_25.avd/data/misc/pstore/pstore.bin"
    emulator: argv[07] = "-cpu"
    emulator: argv[08] = "android64"
    emulator: argv[09] = "-enable-kvm"
    emulator: argv[10] = "-smp"
    emulator: argv[11] = "cores=2"
    emulator: argv[12] = "-m"
    emulator: argv[13] = "1536"
    emulator: argv[14] = "-lcd-density"
    emulator: argv[15] = "420"
    emulator: argv[16] = "-object"
    emulator: argv[17] = "iothread,id=disk-iothread"
    emulator: argv[18] = "-nodefaults"
    emulator: argv[19] = "-kernel"
    emulator: argv[20] = "/home/sl/opt/android-sdk/system-images/android-25/google_apis/x86_64//kernel-ranchu"
    emulator: argv[21] = "-initrd"
    emulator: argv[22] = "/home/sl/opt/android-sdk/system-images/android-25/google_apis/x86_64//ramdisk.img"
    emulator: argv[23] = "-drive"
    emulator: argv[24] = "if=none,index=0,id=system,file=/home/sl/opt/android-sdk/system-images/android-25/google_apis/x86_64//system.img,read-only"
    emulator: argv[25] = "-device"
    emulator: argv[26] = "virtio-blk-pci,drive=system,iothread=disk-iothread,modern-pio-notify"
    emulator: argv[27] = "-drive"
    emulator: argv[28] = "if=none,index=1,id=cache,file=/home/sl/.android/avd/Nexus_5X_API_25.avd/cache.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576"
    emulator: argv[29] = "-device"
    emulator: argv[30] = "virtio-blk-pci,drive=cache,iothread=disk-iothread,modern-pio-notify"
    emulator: argv[31] = "-drive"
    emulator: argv[32] = "if=none,index=2,id=userdata,file=/home/sl/.android/avd/Nexus_5X_API_25.avd/userdata-qemu.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576"
    emulator: argv[33] = "-device"
    emulator: argv[34] = "virtio-blk-pci,drive=userdata,iothread=disk-iothread,modern-pio-notify"
    emulator: argv[35] = "-drive"
    emulator: argv[36] = "if=none,index=3,id=encrypt,file=/home/sl/.android/avd/Nexus_5X_API_25.avd/encryptionkey.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576"
    emulator: argv[37] = "-device"
    emulator: argv[38] = "virtio-blk-pci,drive=encrypt,iothread=disk-iothread,modern-pio-notify"
    emulator: argv[39] = "-netdev"
    emulator: argv[40] = "user,id=mynet"
    emulator: argv[41] = "-device"
    emulator: argv[42] = "virtio-net-pci,netdev=mynet"
    emulator: argv[43] = "-show-cursor"
    emulator: argv[44] = "-L"
    emulator: argv[45] = "/home/sl/opt/android-sdk/emulator/lib/pc-bios"
    emulator: argv[46] = "-soundhw"
    emulator: argv[47] = "hda"
    emulator: argv[48] = "-vga"
    emulator: argv[49] = "none"
    emulator: argv[50] = "-append"
    emulator: argv[51] = "qemu=1 androidboot.hardware=ranchu clocksource=pit android.qemud=1 console=0 android.checkjni=1 qemu.gles=1 qemu.encrypt=1 qemu.opengles.version=131072 cma=288M qemu.wifi=1 mac80211_hwsim.channels=2 androidboot.android_dt_dir=/sys/bus/platform/devices/ANDR0001:00/properties/android/ ramoops.mem_address=0xff018000 ramoops.mem_size=0x10000 memmap=0x10000$0xff018000"
    emulator: argv[52] = "-android-hw"
    emulator: argv[53] = "/home/sl/.android/avd/Nexus_5X_API_25.avd/hardware-qemu.ini"
    Concatenated QEMU options:
     /home/sl/opt/android-sdk/tools/../emulator/qemu/linux-x86_64/qemu-system-x86_64 -dns-server 127.0.1.1 -serial null -device goldfish_pstore,addr=0xff018000,size=0x10000,file=/home/sl/.android/avd/Nexus_5X_API_25.avd/data/misc/pstore/pstore.bin -cpu android64 -enable-kvm -smp cores=2 -m 1536 -lcd-density 420 -object iothread,id=disk-iothread -nodefaults -kernel /home/sl/opt/android-sdk/system-images/android-25/google_apis/x86_64//kernel-ranchu -initrd /home/sl/opt/android-sdk/system-images/android-25/google_apis/x86_64//ramdisk.img -drive if=none,index=0,id=system,file=/home/sl/opt/android-sdk/system-images/android-25/google_apis/x86_64//system.img,read-only -device virtio-blk-pci,drive=system,iothread=disk-iothread,modern-pio-notify -drive if=none,index=1,id=cache,file=/home/sl/.android/avd/Nexus_5X_API_25.avd/cache.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576 -device virtio-blk-pci,drive=cache,iothread=disk-iothread,modern-pio-notify -drive if=none,index=2,id=userdata,file=/home/sl/.android/avd/Nexus_5X_API_25.avd/userdata-qemu.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576 -device virtio-blk-pci,drive=userdata,iothread=disk-iothread,modern-pio-notify -drive if=none,index=3,id=encrypt,file=/home/sl/.android/avd/Nexus_5X_API_25.avd/encryptionkey.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576 -device virtio-blk-pci,drive=encrypt,iothread=disk-iothread,modern-pio-notify -netdev user,id=mynet -device virtio-net-pci,netdev=mynet -show-cursor -L /home/sl/opt/android-sdk/emulator/lib/pc-bios -soundhw hda -vga none -append 'qemu=1 androidboot.hardware=ranchu clocksource=pit android.qemud=1 console=0 android.checkjni=1 qemu.gles=1 qemu.encrypt=1 qemu.opengles.version=131072 cma=288M qemu.wifi=1 mac80211_hwsim.channels=2 androidboot.android_dt_dir=/sys/bus/platform/devices/ANDR0001:00/properties/android/ ramoops.mem_address=0xff018000 ramoops.mem_size=0x10000 memmap=0x10000$0xff018000' -android-hw /home/sl/.android/avd/Nexus_5X_API_25.avd/hardware-qemu.ini
    emulator: Android qemu version 27.0.2.0 (build_id 4498654) (CL:f388734068bae38c6115263feea33c68eed531fe)
    
    emulator: Starting QEMU main loop
    emulator: registered 'boot-properties' qemud service
    emulator: Adding boot property: 'ro.opengles.version' = '131072'
    emulator: Adding boot property: 'qemu.sf.fake_camera' = 'none'
    emulator: Adding boot property: 'dalvik.vm.heapsize' = '384m'
    emulator: Adding boot property: 'qemu.hw.mainkeys' = '0'
    emulator: Adding boot property: 'qemu.sf.lcd_density' = '420'
    emulator: goldfish_events.have-dpad: false
    emulator: goldfish_events.have-trackball: false
    emulator: goldfish_events.have-camera: false
    emulator: goldfish_events.have-keyboard: true
    emulator: goldfish_events.have-lidswitch: false
    emulator: goldfish_events.have-tabletmode: false
    emulator: goldfish_events.have-touch: false
    emulator: goldfish_events.have-multitouch: true
    emulator: control console listening on port 5554, ADB on port 5555
    Not using any http proxy
    emulator: android_hw_fingerprint_init: fingerprint qemud listen service initialized
    
    
    
    
    emulator: Warning: config.ini contains invalid skin.path entry: _no_skin
    emulator: ERROR: detected a hanging thread 'QEMU2 main loop'. No response for 15000 ms
    

    【讨论】:

    • 我希望我能给你投票两次。我整天都在纠结“错误代码139”。我从 CLI 运行它并得到 QEMU2 错误。我重新打开了 IPv6,果然模拟器又可以工作了。非常感谢!
    • 相反的对我有用!这太奇怪了——我检查并发现我的机器上已经禁用了 IPv6,所以我启用了它,现在我的模拟器可以工作了!!!我赞成并将其标记为已接受的解决方案,但 Debriter 请更新以提及启用 IPv6 可能适用于某些人。
    • 这是最初的解决方案 - 您必须启用 IPv6。
    • 哦,对不起,我的意思是写我禁用它。我没有“disable_ipv6”配置,当我添加它们时模拟器开始工作。因此,请更新您的解决方案,说明禁用 IPv6 也可以解决问题。
    • 禁用 ipv6 对我有用。这是我所做的: 1. cat cat /proc/sys/net/ipv6/conf/all/disable_ipv6
    【解决方案3】:

    放轻松!

    实际上可能会出现挂起状态

    • 在模拟器启动时
    • 在运行期间

    这可能在之后

    • 更新包

    • 当您将项目导入或打开到更高版本的 android studio 时,例如 2.4 -> 3.0.1 等 主要原因是你以前的应用程序的状态是用以前的android studio库和包保存的,所以解决这个错误很容易,即

    a) 工具->AVD->编辑->高级设置。选择快速启动而不是冷启动 (由卡梅尔回答)

    b) 如果您已经选择了“快速启动”,则选择“冷启动”,然后重新启动 模拟器,它可以正常工作。

    【讨论】:

    • 抱歉,我根本没有启动设置 :-( 越野车垃圾哈哈
    • 亲爱的 CmosBattery!您没有阅读完整的答案。我多次遇到这个问题,每次都轻松解决。如果您仍有问题,请提供更多详细信息。
    • 在命令行启动模拟器时如何解决?
    【解决方案4】:

    在 2020 年 12 月 1 日之前,我们非常愉快地在 28 核机器上运行 27 个模拟器,但突然之间,它们开始缓慢运行,平均负载降低 1.5 倍 - 2 倍,并且这些 QEMU 消息偶尔会恢复正常。另一个也在他们的模拟器上运行 Android 10 的团队在他们完全不相关的系统上也看到了同样的性能问题。 Android 11 和 Pie 不受影响。

    我们的模拟器容器使用标准 avdmanager 创建的 AVD 和 docker 镜像的机器快照进行烹制,每个镜像一个模拟器,我们唤醒其中的几个容器。

    我们仍然不完全了解原因,但我们似乎已经通过禁用 AVD 中的各种设置和应用程序来解决它;没有这些修复的快照图像仍然表现不佳。我们不确定是哪一个真正修复了它,所以我会在这里列出所有内容,即使它似乎不太可能做出贡献;如果我们确定了,我会更新这个答案:

    • 512M sdcard(avdmanager 的-c 选项)
    • 下午撤销快速搜索的 RECORD_AUDIO(googlequicksearchbox = Velvet)
    • su root pm disable com.google.android.googlequicksearchbox
    • su root pm disable com.google.android.music
    • 设置 > 安全 > 播放保护 > 禁用扫描设备
    • App Info > Play services > clear storage, clear cache, force stop
    • 应用信息 > Google Auto > 禁用
    • 短暂打开地图,跳过登录,然后点击“缩放至位置”
    • 正常的“解雇首次使用的用户”内容,例如:
      • 授予相机权限,不保存位置
      • 不共享任何统计信息或登录(=不,谢谢)Chrome,强行杀死它以尝试触发数据保护程序屏幕,并启动 Chrome 备份。
    • 另外,Chrome > 设置 > Lite 模式 > 开启、关闭
      • 并在文本窗口中点击以调出键盘,清除“帮助构建更好的键盘”内容。
      • 正在检查 data/data/com.google.android.inputmethod.latin/shared_prefs/com.googe.android.inputmethod.latin_preferences.xml 中的顽皮词 - 我们在构建时没有看到顽皮词列表“让我们再试一次”图片。
    • 不小心点击了快速搜索小部件并启用了它;再次禁用它。
    • 我们也花了几个小时来做​​这件事 - 以防它在我们停止模拟器并制作快照之前下载了一些东西。

    我们仍然发现 Android 10 和 Android 11 的运行速度比 Pie 慢 10%,即使有这些障碍。

    【讨论】:

      【解决方案5】:

      在 macOS 上启用/禁用 ipv6 协议也有效,如果 off 选项未出现在 Configure IPv6 下拉列表中(如在 macOS 10.14 中),您可以执行以下命令在终端:

      networksetup -setv6off Ethernet && networksetup -setv6off Wi-Fi
      

      要启用,只需在 Configure IPv6 下拉列表中选择之前选择的选项或执行以下其他命令:

      networksetup -setv6automatic Wi-Fi && networksetup -setv6automatic Ethernet
      

      【讨论】:

      • 在我的情况下出现了另一个不相关的问题,我的 MacBook pro 的驱动器色带出现故障(此型号的常见问题),更换后整体性能得到了很大提升。
      【解决方案6】:

      我在 ubuntu 16.04 和 android studio 3.0.1 中遇到了完全相同的问题

      用谷歌搜索一下这个错误信息:

      ADB rejected shell command (getprop): closed
      

      我在the Arch forumn 中找到了一个讨论该错误的用户。

      一个简单的解决方案是:点击 AS 中的 AVD Manager > 点击 Edit this AVD with a pencil icon > 在 Graphics 下拉菜单中选择 Software。

      这种模式可能会导致模拟器速度降低,但可以暂时解决问题。

      【讨论】:

      • 我已经在原帖中写道,我尝试切换到软件图形。这并不能解决问题。同样的建议也出现在这个论坛的几个帖子中,例如:stackoverflow.com/a/36696680/1944232stackoverflow.com/a/19906556/1944232无论如何感谢您的贡献。
      • 不起作用。无法使用硬件或从 Nouveau 驱动程序崩溃。无法使用软件,否则会死机和崩溃。
      【解决方案7】:

      转到 Tools => AVD Manager 选择要打开的虚拟设备 按笔图标 (编辑此 AVD)

      选择显示高级设置

      选择启动选项:冷启动

      【讨论】:

        【解决方案8】:

        开启:

        $ cat /etc/os-release
        NAME="Ubuntu"
        VERSION="14.04.5 LTS, Trusty Tahr"
        ID=ubuntu
        ID_LIKE=debian
        PRETTY_NAME="Ubuntu 14.04.5 LTS"
        VERSION_ID="14.04"
        HOME_URL="http://www.ubuntu.com/"
        SUPPORT_URL="http://help.ubuntu.com/"
        BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
        

        要将 disable_ipv6 的值从 1 设置为 0,以下对我有用:

        $ cat /proc/sys/net/ipv6/conf/all/disable_ipv6
        1
        $ sudo sysctl net.ipv6.conf.all.disable_ipv6=0
        net.ipv6.conf.all.disable_ipv6 = 0
        $ cat /proc/sys/net/ipv6/conf/all/disable_ipv6
        0
        

        【讨论】:

          【解决方案9】:

          我已经解决了这个问题。 只需检查您的 SDK 管理器是否有可用的更新。如果是,则更新 AVD 管理器和 SDK 工具。 然后启动您的 AVD。它会像以前一样工作。

          【讨论】:

            【解决方案10】:

            在工具->AVD->编辑->高级设置中。选择快速启动而不是冷启动

            【讨论】:

              【解决方案11】:

              我在 Windows 中运行 Android Studio 3.01。

              我不知道这是否与它有关。我得到了同样的错误信息:

              Android Studio 模拟器:错误:检测到挂起的线程 QEMU2 主循环

              我尝试了该语句。这是我得到的痕迹:

              进程:com.abc.abc,PID:4620
              java.lang.RuntimeException: 无法启动活动 ComponentInfo{com.abc.abc/com.abc.abc.CheckRegistration}: android.view.InflateException: Binary XML file line #0: Binary XML file line #0:

              您必须提供一个 layout_width 属性。

              我在上面的消息中将我的域替换为 abc。

              我将布局宽度从“wrap_content”更改为特定宽度 123dp。这个改动解决了我的问题。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2020-02-21
                • 1970-01-01
                • 2019-08-27
                • 2017-04-02
                • 2019-01-17
                • 2023-03-06
                • 2021-08-28
                • 2023-03-31
                相关资源
                最近更新 更多