1. ホーム
  2. アンドロイド

[解決済み] Androidエミュレータのエラーメッセージです。"PANIC: Missing emulator engine program for 'x86' CPUS." (エミュレータ・エンジン・プログラムがありません)

2022-03-03 13:48:12

質問

AVD Managerを使用してAndroidエミュレータを実行しようとしています。 これは私のAVDです。 http://image-upload.de/image/fnx79V/52b0d050ee.png

と起動することで、このようになります。

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

私はMacbook Pro Retinaを持っています。Haxm ドライバを intel のページから直接インストールしました。

どのエミュレータも動作していません。すべて同じエラーメッセージが表示されます。

コマンドの実行 (このエラーは 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など他のインストールがないか確認し、競合を取り除く(1つアンインストールする)。

ライブラリがない場合、その変数をエクスポートする必要があります。

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.

解決方法は?

macOSを使用している場合、Android SDKの両方を追加します。 emulatortools ディレクトリをパスに追加します。

ステップ1: 私の場合、順番が重要で、まず emulator で、次に tools .

export ANDROID_SDK=$HOME/Library/Android/sdk
export PATH=$ANDROID_SDK/emulator:$ANDROID_SDK/tools:$PATH

ステップ2: リロードする .bash_profile または .bashrc OSによって

ステップ3: 利用可能なエミュレータの一覧を取得します。 $emulator -list-avds

ステップ4. コマンドラインからエミュレータを起動し、以下のように置き換えます。 avd をエミュレータの名前に置き換えてください。 $emulator @avd

を追加することを忘れないでください。 @ 記号を使用します。

macOS High Sierra 10.13.4 と Android Studio 3.1.2 で検証しています。