我试图通过使用AVD管理器运行一个Android模拟器。 这是我的avd: http://image-upload.de/image/fnx79V/52b0d050ee.png

这就是开始时的情况:

http://image-upload.de/image/vGpQfa/e912d83939.png

我有一台Macbook Pro Retina。直接从intel页面安装Haxm驱动程序。

没有模拟器在工作。都得到相同的“错误”消息。

运行命令(此错误是当我使用Homebrew安装Android-sdk和Android-platform-tools |时,任何得到相同问题的人都应该删除此或查看冲突的位置)

export ANDROID_EMULATOR_DEBUG=1 test20

emulator:Found AVD name 'test20'
emulator:Found AVD target architecture: x86
emulator:Looking for emulator-x86 to emulate 'x86' CPU
emulator:Probing program: ./emulator-x86
emulator:Probing path for: emulator-x86
emulator:Found target-specific emulator binary: /usr/local/bin/emulator-x86
emulator:Probing for: /usr/local/bin/libOpenglRender.dylib
emulator:Probing for: /usr/local/bin/lib/libOpenglRender.dylib
emulator:Probing for: /usr/local/lib/libOpenglRender.dylib
emulator:Probing for: /usr/local/bin/lib64OpenglRender.dylib
emulator:Probing for: /usr/local/bin/lib/lib64OpenglRender.dylib
emulator:Probing for: /usr/local/lib/lib64OpenglRender.dylib
emulator:Could not find OpenGLES emulation host libraries!
emulator: ERROR: This AVD's configuration is missing a kernel file!!

emulator -avd test21
emulator:Found AVD name 'test21'
emulator:Found AVD target architecture: x86_64
emulator:Looking for emulator backend for x86_64 CPU
emulator:Probing program: ./emulator-x86_64
emulator:Probing path for: emulator-x86_64
emulator:Looking for emulator-x86 to emulate 'x86_64' CPU
emulator:Probing program: ./emulator-x86
emulator:Probing path for: emulator-x86
PANIC: Missing emulator engine program for 'x86_64' CPUS.

在我解决了Homebrew的问题后:

我试了一下,发现了这个:

emulator64-x86 -avd test20
Creating filesystem with parameters:
    Size: 69206016
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 4224
    Inode size: 256
    Journal blocks: 1024
    Label: 
    Blocks: 16896
    Block groups: 1
    Reserved block group size: 7
Created filesystem with 11/4224 inodes and 1302/16896 blocks
emulator: ERROR: Could not load OpenGLES emulation library: dlopen(lib64OpenglRender.dylib, 1): image not found
emulator: WARNING: Could not initialize OpenglES emulation, using software renderer.
HAX is working and emulator runs in fast virt mode
qemu: could not load PC BIOS 'bios.bin'

对于所有有同样问题的人来说,这些步骤可能会有所帮助:

在调试模式下运行模拟器:

export ANDROID_EMULATOR_DEBUG=1 emulatorName

如果有一个路径看起来奇怪,检查其他安装,如Homebrew,并删除冲突(卸载一个)

当库丢失时,你需要导出变量:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ANDROID_HOME/tools/lib

当错误“qemu: could not load PC BIOS ' BIOS .bin'”出现时,一个修复方法是使用完整路径运行模拟器:

/Applications/Android\ Studio.app/sdk/tools/emulator64-x86 -avd test20
In your case it is maybe a other path.

当前回答

尝试以下方法启动模拟器-x86:

export LD_LIBRARY_PATH=$SDK/tools/lib:$LD_LIBRARY_PATH
$SDK/tools/emulator-x86 <your-other-options>

其中$SDK是SDK安装的路径。这就是“模拟器”试图做的事情。你可能想启动emulator64-x86而不是simulator -x86(如果前者存在的话)。

其他回答

有两个命名模拟器二进制文件。位于$SDK/tools/模拟器下的另一个$SDK/模拟器/

请确保你有正确的模拟器配置(需要添加$SDK/模拟器到你的env路径

我写了一个脚本来帮助我调用avd列表

    #!/bin/bash -e


    echo "--- $# $(PWD)"
    HOME_CURRENT=$(PWD)
    HOME_EMULATOR=/Users/pcao/Library/Android/sdk/emulator

    if [ "$#" -eq 0 ]
    then
        echo "ERROR pls try avd 23 or avd 28 " 
    fi

    if [ "$1" = "23" ]
    then
        echo "enter 23"
        cd $HOME_EMULATOR
        ./emulator -avd Nexus_5_API_23_Android6_ &
        cd $HOME_CURRENT
    fi

    if [ "$1" = "28" ]
    then
        echo "enter 28"
        cd $HOME_EMULATOR
        ./emulator -avd Nexus_5_API_28_GooglePlay_ &
        cd $HOME_CURRENT
    fi


在Mac上安装Android Studio IDE后Android - Studio - IDE -173.4907809。使用studio SDK Manager安装SDK Tools

使用~/添加到您的PATH。Profile或~/。在$ANDROID_HOME/tools之前的$PATH中设置$ANDROID_HOME/emulator,如下所示:

export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools

alias androidemulator='emulator -avd Nexus_5X_API_28_x86'

下面是启动模拟器-x86的方法:

cd $SDK/tools; 
ln -s emulator64-x86 emulator-x86

或者在Windows上打开命令提示符(Admin)

cd %ANDROID_SDK_ROOT%\tools
mklink emulator64-x86.exe emulator-x86.exe

现在模拟器将从SDK管理器启动。

注意:在最近的版本中,模拟器位于模拟器文件夹中。

在我的情况下,这就像一个魅力:

Open Terminal Type: open ~/.bash_profile Add the following lines: export ANDROID_SDK=$HOME/Library/Android/sdk export PATH=$ANDROID_SDK/emulator:$PATH export PATH=$ANDROID_SDK/tools:$PATH export PATH=$ANDROID_SDK/tools/bin:$PATH export PATH=$ANDROID_SDK/platform-tools:$PATH export ANDROID_SDK_ROOT=$ANDROID_SDK export ANDROID_AVD_HOME=$HOME/.android/and alias emulator='$ANDROID_SDK/emulator/emulator' Save (hit Command+S). You may close the window or not. Back to Terminal, type: source ~/.bash_profile Show the installed emulators: emulator -list-avds, something like: Pixel_2_API_29 Pixel_3a_API_29 Pixel_C_API_29 Last, run the emulator: emulator @Pixel_2_API_29

在将Android Studio升级到3.2,甚至升级了一些SDK-Packages后,我遇到了这个问题。

原因是模拟器的路径已经改变,所以不要使用...../Android/Sdk/tools/emulator而不是....../Android/Sdk/emulator/emulator。