Android 模拟器在启动时永远挂起
Android emulator hangs forever at boot time
模拟器已启动,但未进一步启动"android" 闪烁文本。
开始于
Android/Sdk/emulator/emulator @Nexus_5X_API_25 -verbose
在日志中只有重复记录
emulator: MemoryReport: Epoch: 140737476643856, Res/ResMax/Virt/VirtMax: 737525760 737525760 5164826624 5302894592
如何fix/debug呢?..
在 KVM 端虚拟化下工作正常,但在更新到模拟器到 26.1.2-4077558 后突然停止。
更新
感谢 albodelu 提供有关更新到 26.1.3 的信息。更新后我有:
KVM is required to run this AVD.
Unknown Error
Please file a bug against Android Studio.
启用 KVM。
这是我通过向模拟器二进制文件添加可执行权限来修复的初始错误。
所以又做了一次。
强制模拟器工作:
chmod a+x ~/Android/Sdk/emulator/emulator*
chmod a+x ~/Android/Sdk/emulator/lib64/lib*
chmod a+x ~/Android/Sdk/emulator/qemu/linux-x86_64/*
chmod a+x ~/Android/Sdk/emulator/qemu-img
chmod a+x ~/Android/Sdk/tools/emulator*
chmod a+x ~/Android/Sdk/tools/android
chmod a+x ~/Android/Sdk/tools/bin/*
现在奇迹 :) 两个仿真器设备都在工作。
我的答案不是精确解你的问题而是使用Genymotion进行模拟。它提供许多来自不同品牌的设备和更强大的 AVD。当我要虚拟测试传感器时,我只在 Android Studio 中使用 AVD。那个模拟器还是很麻烦,问题很大
我在使用硬件加速图像时遇到了这个问题。
对我有用,也可能对你有用的解决方案是创建一个新的虚拟设备,并在 "Emulated Performance" 下 select "Software":
当模拟器更新时,我遇到过很多次。
我找到的唯一解决方案(如果可以的话)就是删除模拟器并重新创建它,之后它应该可以正常工作。
emulator: MemoryReport: Epoch: 140737476643856, Res/ResMax/Virt/VirtMax: 737525760 737525760 5164826624 5302894592
解释:
Epoch: 140737476643856 /* 此毫秒值在您创建此模拟器时给出*/
Res/ResMax/Virt/VirtMax
Res - 进程(引导进程)使用的资源内存。由于您的启动过程正在使用您的总 RAM(模拟器的 RAM),因此有点挂起。
ResMax - 资源内存表示模拟器的总实际 RAM 内存。
Virt - 进程使用的虚拟内存。它是交换内存。
VirtMax - 模拟器中可用的最大虚拟内存。
/*注意:由于启动过程还没有用完你的总虚拟内存,所以你的模拟器还是运行。但是由于所有 RAM 都已满,处理正在进行,但无法继续进行。所以,它一直在屏幕上显示"Android"。
我有这些基于顺序的解决方案(最好的是最上面的)。
1) 请增加模拟器的 RAM 内存。注意:您的笔记本电脑上应该有更多 RAM。您还必须检查主机的 RAM 使用情况。
2) 如果您的主机(笔记本电脑)没有更多 RAM,那么您可能希望找到替代模拟器,例如 GenyMotion、BlueStacks,它比 Android 模拟器占用更少的内存。
GenyMotion:https://www.genymotion.com/
BlueStack:http://www.bluestacks.com/
这是如何在模拟器中增加 RAM 大小的图片。
打开 ADV > 编辑 > 显示高级设置 > 出现下方屏幕 > 增加 RAM
注意:VM Heap size 与您的问题无关。每个应用程序都是一个单独的 Dalvik 虚拟机实例。 VM 堆提供了您最多可以为每个应用程序分配的 RAM。
注意:此问题与您的显卡无关。这是引导时挂起问题。因此,基于软件或硬件的仿真性能不应该是答案。
我在使用 Android-SDK 模拟器时遇到了同样的问题。假设您有一个 Android 构建环境,此解决方案有效;就我而言,AOSP。在这种情况下,导致与 OP 和其他人相同的问题的模拟器是来自 SDK 的 emulator64-arm。当我尝试 AOSP/prebuilts emulator64-arm 时,它工作得很好。常规的 AOSP 模拟器也能正常工作,您也可以将它们与 AVD 一起使用。希望这对您有所帮助,祝您好运。
注意: 模拟器版本 26.1.3 here 包括有趣的修复。现在忙着修改:
使用模拟器 26.1.2 的相关问题here. Relaunch last build like me 使用 26.1.3 或在本地安装
模拟器已启动,但未进一步启动"android" 闪烁文本。
开始于
Android/Sdk/emulator/emulator @Nexus_5X_API_25 -verbose
在日志中只有重复记录
emulator: MemoryReport: Epoch: 140737476643856, Res/ResMax/Virt/VirtMax: 737525760 737525760 5164826624 5302894592
如何fix/debug呢?..
在 KVM 端虚拟化下工作正常,但在更新到模拟器到 26.1.2-4077558 后突然停止。
更新
感谢 albodelu 提供有关更新到 26.1.3 的信息。更新后我有:
KVM is required to run this AVD.
Unknown Error
Please file a bug against Android Studio.
启用 KVM。 这是我通过向模拟器二进制文件添加可执行权限来修复的初始错误。 所以又做了一次。 强制模拟器工作:
chmod a+x ~/Android/Sdk/emulator/emulator*
chmod a+x ~/Android/Sdk/emulator/lib64/lib*
chmod a+x ~/Android/Sdk/emulator/qemu/linux-x86_64/*
chmod a+x ~/Android/Sdk/emulator/qemu-img
chmod a+x ~/Android/Sdk/tools/emulator*
chmod a+x ~/Android/Sdk/tools/android
chmod a+x ~/Android/Sdk/tools/bin/*
现在奇迹 :) 两个仿真器设备都在工作。
我的答案不是精确解你的问题而是使用Genymotion进行模拟。它提供许多来自不同品牌的设备和更强大的 AVD。当我要虚拟测试传感器时,我只在 Android Studio 中使用 AVD。那个模拟器还是很麻烦,问题很大
我在使用硬件加速图像时遇到了这个问题。
对我有用,也可能对你有用的解决方案是创建一个新的虚拟设备,并在 "Emulated Performance" 下 select "Software":
当模拟器更新时,我遇到过很多次。
我找到的唯一解决方案(如果可以的话)就是删除模拟器并重新创建它,之后它应该可以正常工作。
emulator: MemoryReport: Epoch: 140737476643856, Res/ResMax/Virt/VirtMax: 737525760 737525760 5164826624 5302894592
解释:
Epoch: 140737476643856 /* 此毫秒值在您创建此模拟器时给出*/
Res/ResMax/Virt/VirtMax
Res - 进程(引导进程)使用的资源内存。由于您的启动过程正在使用您的总 RAM(模拟器的 RAM),因此有点挂起。
ResMax - 资源内存表示模拟器的总实际 RAM 内存。
Virt - 进程使用的虚拟内存。它是交换内存。
VirtMax - 模拟器中可用的最大虚拟内存。
/*注意:由于启动过程还没有用完你的总虚拟内存,所以你的模拟器还是运行。但是由于所有 RAM 都已满,处理正在进行,但无法继续进行。所以,它一直在屏幕上显示"Android"。
我有这些基于顺序的解决方案(最好的是最上面的)。
1) 请增加模拟器的 RAM 内存。注意:您的笔记本电脑上应该有更多 RAM。您还必须检查主机的 RAM 使用情况。
2) 如果您的主机(笔记本电脑)没有更多 RAM,那么您可能希望找到替代模拟器,例如 GenyMotion、BlueStacks,它比 Android 模拟器占用更少的内存。
GenyMotion:https://www.genymotion.com/
BlueStack:http://www.bluestacks.com/
这是如何在模拟器中增加 RAM 大小的图片。
打开 ADV > 编辑 > 显示高级设置 > 出现下方屏幕 > 增加 RAM
注意:VM Heap size 与您的问题无关。每个应用程序都是一个单独的 Dalvik 虚拟机实例。 VM 堆提供了您最多可以为每个应用程序分配的 RAM。
注意:此问题与您的显卡无关。这是引导时挂起问题。因此,基于软件或硬件的仿真性能不应该是答案。
我在使用 Android-SDK 模拟器时遇到了同样的问题。假设您有一个 Android 构建环境,此解决方案有效;就我而言,AOSP。在这种情况下,导致与 OP 和其他人相同的问题的模拟器是来自 SDK 的 emulator64-arm。当我尝试 AOSP/prebuilts emulator64-arm 时,它工作得很好。常规的 AOSP 模拟器也能正常工作,您也可以将它们与 AVD 一起使用。希望这对您有所帮助,祝您好运。
注意: 模拟器版本 26.1.3 here 包括有趣的修复。现在忙着修改:
使用模拟器 26.1.2 的相关问题here. Relaunch last build like me 使用 26.1.3 或在本地安装