명령 행에서 Android 에뮬레이터를 어떻게 시작합니까?


372

터미널에서 Android 개발을하고있는 Mac을 사용하고 있습니다. HelloWorld 프로젝트를 작성했으며 이제 Android 에뮬레이터의 명령 행에서 실행하려고합니다. HelloWorld 프로젝트의 에뮬레이터를 실행하는 명령은 무엇입니까?

PATH에 이미 Android 도구 및 플랫폼 도구가 있습니다.

편집하다:

명령 행에서 HelloWorld 프로젝트를 실행하도록 에뮬레이터에 지시하는 방법은 무엇입니까? 나는 이미 개미와 함께 프로젝트를 만들었습니다.


관련 문서 :로 작성 avdmanager하고로 시작하십시오 emulator.
jchook 2019

답변:


380

프로젝트를 빌드하고 시작하기 만하면되지만 AVD를 만들지 않고 모든 작업에 명령 줄을 사용해야합니다. 다음을 수행해야합니다.

  1. 필요한 플랫폼에 대한 새로운 가상 장치 (AVD)를 작성하십시오. AVD 작성을 위해 명령 행을 사용해야하는 android create avd -n <name> -t <targetID>경우 targetID가 필요한 API 레벨 인 where 를 호출 할 수 있습니다 . GUI를 사용할 수 있다면, 그냥 입력 android avd하면 관리자가 시작되며 여기서 동일한 작업을 수행 할 수 있습니다. GUI명령 줄을 통해 AVD 관리 에 대한 자세한 내용을 읽을 수 있습니다 .
  2. 명령을 사용 emulator -avd <name>하거나 이전에 시작한 GUI를 통해 AVD를 실행하십시오 . 에뮬레이터가 완전히로드 될 때까지 기다리십시오. 시간이 걸립니다. 추가 옵션 에 대한 내용은 여기를 참조하십시오 .
  3. 이제 AVD에 응용 프로그램을 설치해야합니다. 일반적으로 개발 중에는 프로젝트를 빌드 할 때 사용한 것과 동일한 Ant 스크립트 만 사용하고 install대상을 선택하면됩니다 . 그러나 command를 사용하여 애플리케이션을 수동으로 설치할 수 있습니다 adb install <path-to-your-APK>.
  4. 이제 실행기를 통해 일반 장치 에서처럼 에뮬레이터로 전환하고 응용 프로그램을 시작하십시오. 또는 대안으로 다음 명령을 사용할 수 있습니다 adb shell am start -a android.intent.action.MAIN -n <package>/<activity class>.. 예를 들면 다음과 같습니다 adb shell am start -a android.intent.action.MAIN -n org.sample.helloworld/org.sample.helloworld.HelloWorld.. 주석 작성자가 제안한 것처럼 org.sample.helloworld.HelloWorld위의 줄에서 just로 바꿀 수도 있으며 .HelloWorld작동합니다.

1
당신의 4 포인트 목록은 내가 찾고있는 것입니다. 내가 실행하면 adb install <path-to-your-APK>, 내가 얻을 error: device not found. 한 쉘에서 에뮬레이터를 실행하고 다른 쉘에서 adb install 명령을 실행하면을 얻습니다 error: device offline. 에뮬레이트 된 가상 장치를 설정하는 방법
Thierry Lam

3
예, 이전 버전의 답변에서 정보를 다시 가져 왔습니다. :) 장치가 오프라인이라는 메시지가 표시되면 시스템을로드하지 않은 것 같습니다. Android 로고가 표시 될 때 에뮬레이터에 명령을 보내려고 시도하면 잠금 화면이 표시 될 때까지 기다려야합니다. 그리고 다른 쉘 인스턴스를 사용하여 장치에 명령을 보내야합니다. 그런데 adb devices명령 을 사용하여 장치의 현재 상태를 확인할 수 있습니다 .
Malcolm

1
@ThomasW 감사합니다.이 정보를 답변에 추가했습니다.
Malcolm

1
@ L2G이 스크립트를 스크립트로 실행하면 가능합니다. 내가 답을 쓸 때, 나는 당신이 모든 것을 손으로한다고 가정했습니다.
Malcolm

4
다시 시작 ADB-서버에서 : adb kill-server; adb start-server에 경우 아무것도 쇼까지adb devices
evandrix

278

모든 에뮬레이터를 나열하십시오.

emulator -list-avds

-avd플래그로 나열된 에뮬레이터 중 하나를 실행하십시오 .

emulator -avd @name-of-your-emulator

어디를 emulator받고있다 :

${ANDROID_SDK}/tools/emulator

2
Linux 터미널에서 실행하는 경우 cd$ ANDROID_SDK / tools 폴더에 있어야합니다 . 그렇지 않으면 작동하지 않습니다.
shimatai

4
감사! emulator별칭을 더 자주 사용 하지 않는 이유는 다음과 같습니다. nano ~/.bashrc> add alias emulator='$ANDROID_HOME/tools/emulator', save . ~/bashrc및 완료했습니다. ( ANDROID_HOME사용 된 올바른 변수 또는 android 폴더의 정적 경로로 대체 )
Samuel Elh 2016 년

3
ERROR : ./ android / qt / qt_setup.cpp : 28 : Qt 라이브러리를 ../emulator/lib64/qt/lib에서 찾을 수없는 경우 $ ANDROID_HOME / tools에서 에뮬레이터를 시작하는 것이 해결 방법입니다. github.com/decosoftware/deco-ide/issues/289
tebanep

실제로 tools폴더를 탐색하지 않으면 실제로 작동하지 않습니다. 오류가 발생했습니다 PANIC: Missing emulator engine program for 'x86' CPU.. (저는 Linux, OpenSUSE입니다.) 탐색 tools한 다음 실행 emulator -avd "{name}"한 후에 작동했습니다.
pesho hristov

100

터미널을 통해 도달하는 가장 좋은 방법은 다음과 같습니다.

cd ~/Library/Android/sdk/tools

특정 AVD를 직접 실행하려면

./emulator -avd {AVD_NAME}

AVD를 나열하려면 다음을 사용하십시오.

./emulator -list-avds

Windows의 경로는 무엇입니까?
qwertzguy

9
Ah 그것을 찾았습니다 : C : \ Users \ <user> \ AppData \ Local \ Android \ SDK \ Emulator
qwertzguy

1
나를 위해 일한 사람, thx-그러나 어쨌든 그것을 경로 또는 smth bc cd에 추가 할 수있는 방법이 있습니까
John D

@JohnD가 말한 것- 경로 / 별칭에 명령의 ./일부로 어떻게 포함 emulator하시겠습니까?
DaveNOTDavid

리눅스에서 나를위한 길은입니다 ~/Android/Sdk/emulator.
타일러 콜리어

26

"오류 : 장치 오프라인"이 표시 될 때마다 여기에 추가하면 에뮬레이터 시작에 걸리는 시간으로 인해 에뮬레이터 및 adb 브리지와의 연결이 끊어 졌음을 의미합니다.

이 시점에서 에뮬레이터를 다시 시작하는 대신 adb 브리지를 중지하고 다시 시작하는 두 가지 명령을 시도하십시오.

adb kill-server

adb 시작 서버


Windows에서는 작업 관리자를 사용하여 adb.exe 작업을 종료해야 할 수도 있습니다.
Carl

25

여기에서 당신은 명령 줄을 통해이 명령을 실행하는 옵션을 확인할 수 있습니다 :

emulator -avd avd_name [-option [value]] ... [-qemu args]

예를 들어 아래와 같이 사용합니다.

emulator -avd ICS_ARM -wipe-data -no-boot-anim -cpu-delay 0

안녕하세요 germangti, 나는 같은 문제가 있습니다. "유효한 ABI : ABI 없음. 오류 : 선택한 대상에 대해 잘못된 --abi x86"이 표시됩니다. 문제를 어떻게 해결 했습니까?
Muneer Muhammed 08

15

CMD 열기

  1. 명령 프롬프트 열기
  2. 내 경우 에뮬레이터의 경로를 입력하십시오.

C : \ adt- 번들 -windows-x86_64-20140702 \ sdk \ tools 여기에 이미지 설명을 입력하십시오

  1. 내 경우에는 "emulator -avd emulatorname"이라고 쓰십시오.

에뮬레이터 -avd AdilVD

여기에 이미지 설명을 입력하십시오


13

명령 행에서 에뮬레이터를 엄격하게 실행하려는 경우 OSX에서이를 시도하십시오.

"/Applications/Android Studio.app/sdk/tools/emulator" -avd <NAMEOFDEVICE> -netspeed full -netdelay none

.bash_profile에 별명을 추가하고이를 백그라운드 작업으로 전송하여 단순화 할 수 있습니다.

alias android='/Applications/Android\ Studio.app/sdk/tools/emulator <NAMEOFDEVICE> -netspeed full -netdelay none &'

Bash에게 변경 사항을 알리십시오.

source ~/.bash_profile

zsh : 해당 파일 또는 디렉토리 없음 : NAMEOFDEVICE
Ben Sinclair

2
@Andy 당신은 NAMEOFDEVICE에뮬레이터의 실제 이름으로 대체해야합니다 . 을 emulator -list-avds당신이 당신의 시스템에서 가지고 AVDS의 목록을 얻을 수 있습니다.
nabn

9

명령 프롬프트를 열고 <android-Home>\sdk\tools>emulator -avd <AVD_NAME>

다음 "emulator"Android 가상 장치 를 여는 데 사용되는 명령 입니다.


9

Git Bash를 사용하는 경우 몇 번의 초기 설정 (Windows 10에서만 테스트) 으로 두 번 클릭하여 에뮬레이터를 열 수 있습니다 .

  1. Git Bash를 엽니 다.
  2. 운영 cd ~/AppData/Local/Android/sdk/emulator
  3. ./emulator -list-avds에뮬레이터 이름을 실행 하고 기록해 둡니다. MY_EMULATOR예를 들어.
  4. 메모장을 열고 다음 두 줄을 추가하십시오 (에뮬레이터 이름 대신 MY_EMULATOR) :

    cd ~/AppData/Local/Android/sdk/emulator; ./emulator -avd MY_EMULATOR

  5. myfile로 편한 곳에 파일을 저장하십시오. sh . 가장 적합한대로 "myfile"을 변경할 수 있지만 확장자는 .sh 입니다.

  6. myfile.sh 를 저장 한 디렉토리에서 Git Bash를 열고 실행하십시오 chmod +x myfile.sh. myfile 대신 파일 이름을 입력하십시오 .

그리고 그게 다야! 이제부터 해당 에뮬레이터를 시작할 때마다 myfile.sh를 찾아 두 번 클릭하고 Android 에뮬레이터가 시작될 때까지 기다리십시오!


5

(Linux) 터미널 복사 및 붙여 넣기에서 세 필드를 파란색으로 변경

/home/YouUser/Folder/adt-bundle-linux-x86_64-20140702/sdk/tools/emulator64-x86 -avd Android5.1.1

YouUser = user of session in linux
Folder = path of folfer
Android5.1.1 = You version of android in the emulator,for example (Android4.4.2)

당신은 당신의 폴더 홈 에뮬레이터를 볼 수 있습니다 cd /home/Youuser/.android/avd/


5

android create avd명령은 더 이상 사용되지 않습니다. 이제 사용하는 것이 좋습니다avdmanager 명령 줄에서 에뮬레이터를 시작 대신 하는 .

먼저 새 에뮬레이터가 없으면 새로 만듭니다.

avdmanager create avd --name "MyEmulator" -k "system-images;android-
26;google_apis;x86"

이는 API 26과 일치하는 X86 시스템 이미지가 이미 설치되어 있고 Google API가 설치되어 있다고 가정합니다.

그런 다음로 에뮬레이터를 시작할 수 있습니다 emulator @MyEmulator.


4

요즘 내 경우에는 Android Studio (2.2)가 설치되어 있고 단 하나의 에뮬레이터가 있다고 가정하면이 라이너를 사용할 수 있습니다

export ANDROID_SDK_ROOT=~/Library/Android/sdk/ && emulator '@'`emulator -list-avds`

이 작업을 자주 수행하면 더 쉬워집니다.

$ echo 'export ANDROID_SDK_ROOT=~/Library/Android/sdk/' >> ~/.profile

에 별칭 추가 ~.aliases

alias androidup="emulator '@'`emulator -list-avds`" 

source ~/.profile ~/.aliases테스트 하기 전에 기억 하십시오

다음 번에 $ androidup


3

사용 가능한 avd 이름 목록

.android / avd

/ SDK_PATH / tools / emulator -netdelay 없음 -netspeed 전체 -avd "AVD_NAME"


3

Windows에서는이 PowerShell 스크립트를 사용하여 시작합니다.

$em = $env:USERPROFILE+"\AppData\Local\Android\sdk\tools\emulator.exe"; 
Start-Process $em " -avd Nexus_5X_API_24" -WindowStyle Hidden;

3
  1. CMD 열기
  2. 모든 에뮬레이터 목록을 가져 오려면 (C : \ Users \ DJango \ AppData \ Local \ Android \ sdk \ emulator> emulator -list-avds)
  3. 에뮬레이터를 선택하십시오 (C : \ Users \ DJango \ AppData \ Local \ Android \ sdk \ emulator> emulator -avd Pixel_2_API_28).

1

Mac (및 Linux 생각)에서 AVD를 만든 후에 별칭을 만들 수 있습니다. alias run-android='~/Library/Android/sdk/tools/emulator -avd ${YOUR_AVD_NAME} &'

참고 : 별칭을 실행해도 터미널이 잠기지 않으며 원하는 경우 마지막 '&' 만 제거하십시오 .

emulator자신을 실행 하면 현재 위치 /emulator/qemu/${YOUR_PATFORM}/qemu-system-x86_64'에서 에뮬레이터를 시작 해야하기 때문에 오류가 발생 합니다.


1

Zenity를 사용 하여이 간단한 쉘 스크립트를 작성하여 실행하려는 avd를 선택할 수 있습니다. ANDROID_HOME이 정의되어 있지 않으면 에뮬레이터의 전체 경로로 바꿀 수 있습니다. Zenity 대신 select로도 쉽게 수행 할 수 있지만 xfce 응용 프로그램 메뉴에서 .desktop 파일을 실행하기 때문에 Zenity를 선택했습니다.

#!/bin/sh

opt=$(zenity --title="Choose AVD" --text="Choose which emulator to start" --list \
                   --column="Devices" --separator="\n" `$ANDROID_HOME/emulator/emulator -list-avds`);

$ANDROID_HOME/emulator/emulator -avd $opt

1

사용 가능한 첫 번째 에뮬레이터를 실행하십시오.

~/Library/Android/sdk/tools/emulator -avd `~/Library/Android/sdk/tools/emulator -list-avds | awk '{print $1}'`

나는 비슷한 것을한다 :~/Library/Android/sdk/tools/emulator -avd $(~/Library/Android/sdk/tools/emulator -list-avds | head -1)
Kamen Tsvetkov

0

dns help를 사용하여 명령 행에서 에뮬레이터 시작

에뮬레이터 프로그램 위치 : / Users / {{UserName}} / Library / Android / sdk / tools

  1. 기존 DVD 확인 :-에뮬레이터 -list-avds

  2. dns 세트 / Users / {{UserName}} / Library / Android / sdk / tools / emulator -avd Pixel_API_26 -dns-server 8.8.8.8로 에뮬레이터 시작


0

지침 아래 참조 우분투 리눅스zsh을 :

  1. 터미널 창 열기 ( CTRL+ ALT+ T)
  2. 명령 nano ~/.zshrc을 실행 하여 프로파일을 편집하십시오.
  3. 열린 파일에 다음 줄을 추가하십시오.
export ANDROID_SDK_HOME="~/Android/Sdk"
alias emulator="$ANDROID_SDK_HOME/emulator/emulator"
  1. 파일을 저장합니다 ( CTRL+ O, CTRL+X )
  2. 명령을 실행하여 프로파일을 소싱 source ~/.zshrc 하거나 로그 아웃 한 후 다시 로그인하십시오.
  3. emulator -help터미널 에서 명령을 실행하여 테스트

참고 : bash로 교체 .zshrc하여 동일해야 함.bashrc


0

나는 늦었지만 여기에 공유하고 싶기 때문에 나중에 필요할 때 누군가와 나에게 도움이 될 수 있습니다. :) 그래서 아래는 bash 스크립트를 사용하여 하나의 명령으로 명령 줄에서 에뮬레이터를 여는 방법입니다. MX Linux를 사용하고 있지만 모든 운영 체제에서 프로세스가 동일합니다

1- 먼저 설치된 에뮬레이터를 확인하십시오.

emulator -list-avds

그것은 아래와 같이 결과가 될 것입니다

emulator -list-avds
Nexus_4_API_28
Pixel_2_API_28

2- 일반 텍스트 또는 코드 편집기를 열고 새 파일을 만들고 아래와 같이 작성하십시오

#!/bin/sh
emulator -avd Nexus_4_API_28

Nexus_4_API_28은 첫 단계에서 얻은 에뮬레이터를 열고 싶습니다.

이 파일을 .sh 확장자로 저장

3- 그런 다음 파일에 대한 권한을 변경하여 파일을 실행 가능하게하십시오.

chmod u+x emu.sh

4- 이제 다음 명령 으로이 bash 스크립트 파일을 실행하는 에뮬레이터를 엽니 다.

./emu.sh

여기에 이미지 설명을 입력하십시오

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.