Android 에뮬레이터 오류 메시지 : "PANIC : 'x86'CPUS에 대한 에뮬레이터 엔진 프로그램이 없습니다."
AVD Manager를 사용하여 Android 에뮬레이터를 실행하려고합니다. 이것은 내 DVD입니다 : http://image-upload.de/image/fnx79V/52b0d050ee.png
그리고 이것은 시작함으로써 일어나는 일입니다.
http://image-upload.de/image/vGpQfa/e912d83939.png
Macbook Pro Retina가 있습니다. 인텔 페이지에서 직접 Haxm 드라이버를 설치했습니다.
에뮬레이터가 작동하지 않습니다. 모두 같은 "오류"메시지가 나타납니다.
명령 실행 (이 오류는 Android-sdk 및 Android-platform-tools를 설치하기 위해 Homebrew를 사용할 때 발생했습니다. 동일한 문제가있는 사람은 이것을 제거하거나 충돌이있는 곳을 찾아야합니다)
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 : 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 emulator
및 tools
디렉토리를 모두 경로에 추가하십시오.
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에서 테스트되었습니다.
에뮬레이터-x86을 시작하는 다음 해결 방법이 저에게 효과적이었습니다.
cd $SDK/tools;
ln -s emulator64-x86 emulator-x86
또는 Windows에서 명령 프롬프트 열기 (관리자)
cd %ANDROID_SDK_ROOT%\tools
mklink emulator64-x86.exe emulator-x86.exe
이제 에뮬레이터가 SDK 관리자에서 시작됩니다.
참고 : 에뮬레이터 emulators
는 최신 버전의 폴더에 있습니다.
Android Studio를 3.2로 업그레이드하고 일부 SDK 패키지를 업그레이드 한 후에도이 문제가 발생했습니다.
에뮬레이터의 경로가 변경 되었기 때문에 ...../Android/Sdk/tools/emulator
대신 사용하지 마십시오 ....../Android/Sdk/emulator/emulator
.
Android SDK folder
/ 내에있는 에뮬레이터 폴더로 이동하십시오.emulator
cd ${ANDROID_HOME}/emulator
그런 다음 Android Studio없이 에뮬레이터를 열려면 다음 명령을 입력하십시오.
$ ./emulator -list-avds
$ ./emulator -avd Nexus_5X_API_28_x86
Nexus_5X_API_28_x86
내 AVD입니다. AVD 이름을 지정해야합니다.
Android Studio IDE android-studio-ide-173.4907809-mac.dmg
를 설치하고 studio SDK 관리자를 사용하여 SDK 도구를 설치 한 후 Mac에서
사용하여 PATH에 추가 ~/.profile
또는 ~/.bash_profile
있는지 당신이 만드는 $ANDROID_HOME/emulator
당신의 $PATH
이전 $ANDROID_HOME/tools
과 같이 :
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'
Windows 10, 5.29.18의 경우 :
promt 명령을 사용하여 방금 에뮬레이터 디렉토리에 있습니다.
cd C:\Android\sdk\emulator
그런 다음 명령을 입력하십시오.
emulator -avd Nexus_S_API_27
Nexus_S_API_27
내 사용자 정의 에뮬레이터의 이름입니다.
Othewize는 남용합니다 :
PANIC: Missing emulator engine program for 'x86' CPU.
명명 된 emulator
이진 파일 이 두 개 있습니다. $SDK/tools/emulator
다른 아래 에 위치$SDK/emulator/
- 올바른 에뮬레이터가 구성되어 있는지 확인하십시오 (
$SDK/emulator
env PATH에 추가해야 함)
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
https://www.stkent.com/2017/08/10/update-your-path-for-the-new-android-emulator-location.html에서 제안 된 것을 시도해 볼 수도 있습니다.
간단히 말해서 sdk/emulator
폴더 에서 에뮬레이터를 실행하십시오.
You cannot start emulator-x86 directory, because it needs to have LD_LIBRARY_PATH setup specially to find the PC Bios and GPU emulation libraries (that's why 'emulator' exists, it modifies the path, then calls emulator-x86).
Did you update the first ouput ? It looks like 'emulator' is still finding ' /usr/local/bin/emulator-x86'
Had the same issue on Windows7 64bit. The reason why it didn't was missing emulator-x86.exe
file under sdk/tools. Fixed it by deleting Android SDK Tools using Android SDK Manager and installing it again. The file now exists and emulator works as expected.
ON WINDOWS - updating the system path worked for me. Create an environment variable for the location of your sdk called ANDROID_SDK
then add these to your path, in this order:
%ANDROID_SDK%\emulator
%ANDROID_SDK%\platform-tools
%ANDROID_SDK%\tools
%ANDROID_SDK%\tools\bin
In my case, I needed to install Android Emulator from Sdk manager and it get fixed
Try the following work-around to start emulator-x86:
export LD_LIBRARY_PATH=$SDK/tools/lib:$LD_LIBRARY_PATH
$SDK/tools/emulator-x86 <your-other-options>
Where $SDK is the path to your SDK installation. That's in a nutshell what 'emulator' tries to do. You might want to start emulator64-x86 instead of emulator-x86 if the former exists though.
Avast Antivirus is sensing emulator-arm.exe as a thread and blocking from some reasons. When you add it exclusions in Virus Chest page with right-click -> "restore and add to exclusions" it's not solved in future runnings. To solve this permanently in Avast 2015 :
Settings ->
Active Protection ->
File System Shield ->
Customize ->
Exclusions then add thread as a exclusion . And then press ok.
Delete both Android SDK Tools and Android SDK PLatform-tools; then download both packages again. Now, create a new emulator and start it; it will work. You might be able to run your old emulators.
This worked for me on macOS:
echo 'export PATH=$PATH:'$HOME'/Library/Android/sdk/emulator:'$HOME'/Library/Android/sdk/tools:'$HOME'/Library/Android/sdk/platform-tools' >> ~/.bash_profile
source ~/.bash_profile
First, check the path you get with which emulator
and if you get /usr/local/share/android-sdk/tools/emulator
then remove or rename that emulator (it's an old one) and instead use /usr/local/share/android-sdk/emulator/emulator
which is the new path.
If you're using Homebrew and installed with brew cask install android-sdk android-studio
then you need to:
- Verify your .bashrc or .zshrc that you have the correct paths set:
# Remove $HOME/Library/Android paths
# The new way is to use ANDROID_SDK_ROOT
export ANDROID_SDK_ROOT="/usr/local/share/android-sdk"
# For good measure, add old paths to be backwards compatible with any scripts or
whatnot. And to hopefully decrease confusion:
export ANDROID_HOME=$ANDROID_SDK_ROOT
export ANDROID_NDK_HOME=$ANDROID_SDK_ROOT/ndk-bundle
Then restart your terminal shell, and check your paths are as you expect them:
set | grep ANDROID
Finally, with correct paths set, you typically need to install the ndk and some tools:
sdkmanager "ndk-bundle" "cmake;3.10.2.4988404" "lldb;3.1"
and check the list for other pieces like this
sdkmanager --list
I also closed Android Studio, removed the old Android/Sdk folder under my $HOME folder, and restarted Studio, and when it asked where my Sdk had gone, I pasted the Sdk path: /usr/local/share/android-sdk
I faced the same problem and never worked for me except until go to the emulator folder, I tried to export the emulator folder but not worked for me
cd $android_home/emulator and run emulator
, in the end, I write Elias for the command in .bashrc file
alias emulator="$ANDROID_HOME/emulator/emulator"
This message means the 'emulator-x86' or 'emulator64-x86' program is missing from $SDK/tools/, or cannot be found for some reason.
First of all, are you sure you have a valid download / install of the SDK?
See if your .exe file is in your antivirus quarantine
Solutions:
- Download the adt-bundle again from https://developer.android.com/tools/sdk.
- Open the Zip File.
- Copy the missing .exe Files From the Folder
\sdk\tools
. - 복사 한 파일을
Android\sdk\tools
디렉토리에 붙여 넣습니다 .
'Programming' 카테고리의 다른 글
터미널에서 커서 속도를 어떻게 높일 수 있습니까? (0) | 2020.05.25 |
---|---|
Xcode에서 프로젝트를 보관하면 다중 응용 프로그램 번들이 잘못 생성됩니다 (0) | 2020.05.25 |
JSON을지도로 변환 (0) | 2020.05.25 |
엔티티를 계산하는 코코아 코어 데이터 효율적인 방법 (0) | 2020.05.25 |
MySQL에서 기본 키 제거 (0) | 2020.05.25 |