Android Studio AVD - 模拟器:进程已完成,退出代码为 1

Android Studio AVD - Emulator: Process finished with exit code 1

我在启动 android 模拟器时遇到问题。似乎没有加载任何内容。

像素 2 API 26 Android 8.0 x86.

Linux Ubuntu 16.04 LTS 64 位。

12/10/17 2:20 PM Emulator: libGL error: unable to load driver: vmwgfx_dri.so

2:20 PM Emulator: libGL error: driver pointer missing

2:20 PM Emulator: libGL error: failed to load driver: vmwgfx

2:20 PM Emulator: libGL error: unable to load driver: swrast_dri.so

2:20 PM Emulator: libGL error: failed to load driver: swrast

2:20 PM Emulator: X Error of failed request: BadValue (integer parameter out of range for operation)

2:20 PM Emulator: Major opcode of failed request: 155 (GLX)

2:20 PM Emulator: Minor opcode of failed request: 24 (X_GLXCreateNewContext)

2:20 PM Emulator: Value in failed request: 0x0

2:20 PM Emulator: Serial number of failed request: 33

2:20 PM Emulator: Current serial number in output stream: 34

2:20 PM Emulator: Process finished with exit code 1

这些是来自 libGLlibstdc++

的已知错误

您可以通过在 AVD 设置中将 Software 用于 Emulated Performance Graphics 选项来快速解决此问题。

或者尝试使用 libstdc++.so.6(在您的系统中可用)而不是 Android SDK 中捆绑的那个。有两种替换方式:

  • 模拟器有一个开关-use-system-libs。您可以在这里找到它:~/Android/Sdk/tools/emulator -avd Nexus_5_API_23 -use-system-libs

    此选项强制 Linux 模拟器加载系统 libstdc++(但不是 Qt 库), 在捆绑的(来自 Android SDK)阻止它加载或 正常工作。看到这个 commit

  • 或者您可以为您的 user/systemANDROID_EMULATOR_USE_SYSTEM_LIBS 环境变量设置为 1

    这样做的好处是确保模拟器可以正常工作 如果您从 Android Studio 中启动它。

参见: libGL error and libstdc++: Cannot launch AVD in emulator - Issue Tracker

Android 在 C:\Users\[USERNAME]\.android[=17 中创建默认 avd 文件=] 目录。只需确保将 avd 文件夹从此目录 C:\Users\[USERNAME]\.android 复制到 C:\Android\.android。这样做后我的问题就解决了。

转到 AVD 管理器, 单击显示此错误的 AVD 设备旁边的 "Down Arrow", 点击 "Show on Disk"。 现在删除这两个文件 "Cache.img" & "cache.img.qcow2" ..

对我来说非常好。

在 AVD Manager -> Edit -> Show Advanced Settings -> Boot Options(选择 Cold boot)。这解决了我的问题

这对我有用:

单击 SDK 工具中的 Sdk 管理器,然后:

Unistal 并安装 Android 模拟器:

希望能帮到你!

检查 android 工作室事件日志,因为它可能是存储空间不足的问题。

emulator: ERROR: Not enough disk space to run AVD 'Nexus_5_API_21'. Exiting...

这可能有几个原因。

  1. 首先检查一下你的bios是否开启了legacy模式 设置。如果未启用,请确保在 BIOS 设置中启用它。
    1. 然后在 AVD Manager -> Edit -> Show Advanced Settings -> Boot Options (Select Cold boot)。这解决了我的问题。 我希望它能解决你的问题。

有时需要重启系统(以我为例)。

我的问题已解决

  • 可能是您没有足够的 space 创建此虚拟设备 (就像我的情况一样)。如果发生这种情况,请尝试为该虚拟设备创建足够 space。

  • 卸载并re-install可以解决这个问题。

  • 重启AndroidStudio即可解决

打开 AVD 管理器并单击模拟器旁边的下拉菜单,然后 select 在磁盘中显示并删除扩展名为 .lock 的文件。删除后,运行 你的模拟器。这对我有用。

对我来说,我的驱动器上缺少 space(大约 1GB 可用空间)。清除了一些东西,它加载得很好。

None 的解决方案对我有用。我最终下载了不同的模拟器图像。

首先我有 arm64-v8a,它给出了这个错误。我下载了 armeabi-v7a,效果很好。

不幸的是,我无法安装 HAXM 加速器,因为组织的软件阻止了安装。因此,不得不与手臂一起去。

我对 windows 也有同样的问题,问题的原因是损坏或缺少 dll 文件。我不得不改变它们。

在android工作室,

帮助菜单 -> 显示资源管理器中的日志。

它打开日志文件夹,您可以在其中找到所有日志。在我的情况下,错误如“模拟器以退出代码 -1073741515 终止”

  1. 尝试从命令提示符运行模拟器,
  • 前往文件夹~\Android\Sdk\emulator

  • 运行 这个命令:

    emulator.exe -netdelay none -netspeed full -avd <virtual device name> 
    
    ex: emulator.exe -netdelay none -netspeed full -avd Nexus_5X_API_26.avd
    

    您可以从文件夹 ~.android\avd\xxx.avd\emu-launch-params.txt

    中找到此命令
  1. 如果您收到关于 vc运行time140 的错误,
  • 从 internet (32 / 64 位版本),并将其替换为 vcruntime140.dll 文件中的 文件夹 ~\Android\Sdk\emulator

  • 尝试第 1 步

  • 如果出现关于 vcruntime140_1 的错误,将文件名更改为 vcruntime140_1.dll ,尝试步骤 1

  1. 如果您收到关于 msvcp140.dll
  2. 的错误
  • 为您的系统搜索并下载合适的 msvcp140.dll 文件 互联网(32 / 64 位版本)
  • 将文件夹C:\Windows\System32中的文件替换为文件msvcp140.dll
  • 尝试第 1 步

如果它 运行s ,您也可以从 Android Studio 运行 它。

这可以通过以下步骤解决:

请确保安装了“Windows Hypervisor Platform”。如果没有安装,安装它,重启你的电脑就可以了。

我正在使用 flutter 并使用终端安装虚拟设备

flutter emulator --launch {avd_name} -v

会打印出更详细的输出,方便调试具体的错误

在 BIOS 中启用虚拟化选项在我的特定情况下有效 (VDT)

我有同样的问题,多次尝试卸载,重新安装 Android studio。我在启动 Studio 时出错,其中 </Users/Youruserid/Library/Application Support/Google/AndroidStudio4.1> 目录存在权限问题。我尝试使用 Sudo 运行 Studio,所以 Studio 的启动工作正常但出现错误主页 “Android Studio AVD - 模拟器:进程已完成,退出代码为 1

问题: 目录从未存在 </Users/Youruserid/Library/ApplicationSupport/Google/AndroidStudio4.1>

解决方法:

  1. 创建了丢失的目录,需要“sudo”来创建下面的目录 </Users/youruserdir/Library/Application Support/Google/AndroidStudio4.1>

  2. 创建后,将创建的目录的所有者从 root 用户更改为

  3. 将屏幕截图中显示的所有目录的所有者从 root 更改为

    sudo chown -R <YourUserId> 'Chrome Canary'

  4. 重新启动 Studio,它应该可以正常工作。

适用于我的解决方案我的 Android 模拟器 API 级别是 30,所以我将其降级为 28,它非常有效。希望这个技巧对大家有用