source

명령줄에서 안드로이드 에뮬레이터를 시작하려면 어떻게 해야 합니까?

factcode 2023. 6. 3. 08:46
반응형

명령줄에서 안드로이드 에뮬레이터를 시작하려면 어떻게 해야 합니까?

저는 단말기에서 안드로이드 개발을 하고 있는 맥입니다.HelloWorld 프로젝트를 성공적으로 생성하여 Android 에뮬레이터의 명령줄에서 실행하려고 합니다.HelloWorld 프로젝트의 에뮬레이터를 실행하는 명령은 무엇입니까?

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

편집:

에뮬레이터가 명령줄에서 HelloWorld 프로젝트를 실행하도록 지시하려면 어떻게 해야 합니까?저는 이미 개미로 프로젝트를 만들었습니다.

프로젝트를 빌드하고 시작하기만 하면 되지만 AVD가 생성되지 않아 모든 작업에 명령줄을 사용해야 합니다.당신은 다음을 해야 합니다.

  1. 필요한 플랫폼에 대해 새 가상 디바이스(AVD)를 생성합니다.AVD를 , 은 만당신이당 AVD를들만위해사한다면용명령다있수니,은전습할화당신약야해을줄기신의▁call▁if다▁for▁can▁line니있▁you습수▁your▁command당만▁you,라고 부를 수 있습니다.android create avd -n <name> -t <targetID>서 target 수준입니다ID는 당신이 필요로 하는 API 수준입니다.할 수 경우 하면 됩니다.android avd그러면 매니저가 시작되고, 당신도 같은 일을 할 수 있습니다.GUI 및 명령줄을 통해 AVD 관리에 대한 자세한 내용을 읽을 수 있습니다.
  2. AVD 명령을 합니다.emulator -avd <name>또는 이전에 실행한 GUI를 통해.에뮬레이터가 완전히 로드될 때까지 기다리십시오. 시간이 좀 걸립니다.여기에서 추가 옵션에 대해 읽을 수 있습니다.
  3. 이제 애플리케이션을 AVD에 설치해야 합니다. 개발 때 하고, 일적으로개중프빌때드사할것용다사과니용동합일를크스한트반립한를로트젝발에는▁select▁usually▁you다사니▁script합,용▁just▁the일▁ant▁project▁same▁ant▁usement반을 선택합니다. 선택하십시오.install그러나 명령으로 응용 할 수 있습니다.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에 단지 바위줄에의로..HelloWorld그리고 그것도 작동할 겁니다

에뮬레이터를 모두 나열합니다.

emulator -list-avds

중 를 나된에 하를실행다로 합니다.-avd플래그:

emulator -avd name-of-your-emulator

emulator실행 파일이 아래에 있습니다.

${ANDROID_SDK}/tools/emulator

또는 최신 SDK의 경우 다음을 시도하십시오.

cd ${ANDROID_HOME}/emulator
emulator -avd name-of-your-emulator

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

cd ~/Library/Android/sdk/emulator

는또의 경우.Windows:

cd %userProfile%\AppData\Local\Android\sdk\emulator

특정 AVD를 직접 실행하는 방법

./emulator -avd {AVD_NAME}

AVD를 나열하려면 다음을 사용합니다.

./emulator -list-avds

여기에 덧붙이자면, "error: device offline"이 표시될 때마다 에뮬레이터 시작에 소요되는 시간으로 인해 에뮬레이터 & adb 브리지와의 연결이 끊어졌다는 것을 의미합니다.

이 시점에서 에뮬레이터를 다시 시작하는 대신 두 개의 명령 아래에서 시도해 보십시오. 이 명령은 adb 브리지를 중지하고 다시 시작합니다.

adb kill-server

adb 시작 서버

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

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

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

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

CMD 열기

  1. 명령 프롬프트 열기
  2. 내 경우 에뮬레이터의 경로를 입력합니다.

C:\adt-bundle-windows-x86_64-20140702\sdk\tools 여기에 이미지 설명 입력

  1. 내 경우에는 "에뮬레이터 -av 에뮬레이터 이름"을 씁니다.

에뮬레이터 - avd AdilVD

여기에 이미지 설명 입력

zsh가 포함된 Mac에 대한 지침:

창 열기(CTRL 명령어 실행(CTRL+ALT+T)nano ~/.zshrc프로파일을 편집하려면열린 파일에 다음 행을 추가합니다.

export ANDROID_SDK_HOME="~/Library/Android/Sdk"

alias emulator="$ANDROID_SDK_HOME/emulator/emulator"

파일 저장(CTRL+O, CTRL+X) ~/.zshrc 명령을 실행하여 프로파일을 소스로 만들거나 다음 명령을 실행하여 로그아웃한 후 테스트에 다시 로그인합니다.

emulator -help또는emulator -list-avds터미널에서 시뮬레이터를 보여주고 Android 에뮬레이터를 실행하려면 다음 명령을 사용합니다.

emulator -avd <name>

참고: .zshrc를 .bashrc로 대체하여 bash와 동일해야 합니다.

명령줄에서 에뮬레이터를 엄격하게 실행하려는 경우 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

명령 프롬프트를 열고 다음으로 이동합니다.<android-Home>\sdk\tools>emulator -avd <AVD_NAME>

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

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 처럼 편리한 곳에 파일을 저장합니다."내 파일"을 가장 적합하게 변경할 수 있지만 확장자 .sh가 필요합니다.

  6. 파일을 저장한 디렉터리에서 Git Bash를 엽니다.잽싸게 달리다chmod +x myfile.sh파일 대신 파일 이름을 넣는 것을 기억하세요.

그게 다야!이제부터는 에뮬레이터를 시작해야 할 때마다 내 파일을 찾기만 하면 됩니다.Sh를 두 번 클릭하고 Android 에뮬레이터가 실행될 때까지 기다립니다!

  1. 하려면: 설된모장나열는방법하를치emulator -list-avds

Android Studio 내부에 설치된 모든 장치가 나열됩니다.

  1. 에뮬레이터 실행 방법:emulator -avd device_name

를 들어, 만약 이 예들어당만, 신이약를▁you를 얻었다고 하면,Pixel_3a_API_30_x86한 후 은 다음과 emulator -avd Pixel_3a_API_30_x86

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

먼저 새 에뮬레이터가 없는 경우 새 에뮬레이터를 만듭니다.

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

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

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

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

에뮬레이터가 있는 디렉토리로 이동합니다.

${ANDROID_SDK}/툴/에뮬레이터

CLI에서 에뮬레이터 목록 확인

에뮬레이터 -list-avds

목록에서 AVD 실행

에뮬레이터 - avd {avd_name}

(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)

home cd /home/Youuser/.android/avd/ 폴더에서 에뮬레이터를 볼 수 있습니다.

요즘에는 내 경우에 안드로이드 스튜디오(2.2)가 설치되어 있고 에뮬레이터가 1개만 있다고 가정하면 이 라이너 하나를 사용할 수 있습니다.

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하기 전에 을시기전에것하험그▁before.

에는 그냥 ㅠㅠㅠㅠㅠㅠㅠ$ androidup

사용 가능한 avd 이름 목록

.vd/avd

/SDK_PATH/tools/에뮬레이터 -netdelay none -netspeed full -avd "AVD_NAME"

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

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

자동화(CI)를 위해 다음과 같은 단계를 수행했습니다.

  1. 먼저 SDK의 도구 위치를 찾은 후 나중에 사용할 수 있도록 변수에 저장합니다.

    tools=$ANDROID_HOME/cmdline-tools/latest/bin
    arch="x86_64"
    package="system-images;android-23;google_apis;$arch"
    
  2. Android 이미지가 다운로드되었는지 확인합니다.

    $tools/sdkmanager "$package"
    
  3. 라이센스에 동의합니다.

    echo yes | $tools/sdkmanager --licenses
    
  4. AVD를 만듭니다.

    echo no | $tools/avdmanager create avd --force --name MyAVD --abi google_apis/$arch --package "$package"
    

    "사용자 지정 하드웨어 프로필을 생성하시겠습니까?"에 대해 "아니오"라고 말합니다.

  5. 에뮬레이터를 병렬로 실행합니다.

    $ANDROID_HOME/emulator/emulator -netdelay none -netspeed full -no-snapshot-load -no-snapshot -avd MyAVD > /dev/null &
    
  6. APK 구축.

    ./gradlew assembleDebug
    
  7. 마지막으로 Android 테스트(Instrumented tests)는 에뮬레이터에서 자동으로 감지 및 실행됩니다.

    ./gradlew connectedAndroidTest
    

    Emulator를 병렬로 실행하기 때문에 Emulator가 준비될 때까지 기다려야 하며 7단계 이전에 실행해야 합니다.

    하여 빌드 시간을 하고, 에뮬레이터-launch, 에뮬레이터-launch를 합니다.sleep.

나는 늦었지만 여기서 공유하고 싶기 때문에 나중에 필요할 때마다 누군가와 나도 도움이 될 수 있습니다 :), 아래는 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

넥서스_4_API_28은 첫 단계에서 얻은 당신의 것을 당신에게 쓰고 싶은 에뮬레이터입니다.

.sh 확장자로 이 파일을 저장합니다.

3- 그런 다음 파일에 대한 사용 권한을 변경하여 파일을 실행할 수 있도록 합니다.

chmod u+x emu.sh

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

./emu.sh

여기에 이미지 설명 입력

원클릭(BATCH 파일) 실행을 위해 수행한 작업은 다음과 같습니다.

  • Android Studio -> Tools -> AVD Manager -> Arrow Down을 클릭하고 View Details(자세한 내용 보기)를 선택합니다(는 Pixel_API_28, 따라서 아래와 같이 변경)
  • start.bat 파일을 만들고 내부에 다음을 넣습니다.
 c: 
 cd C:\Program Files (x86)\Android\android-sdk\emulator\ 
 emulator -avd Pixel_2_API_28

설명:

  • 첫 번째 줄: d:에서 시작하기 때문에 저에게 필요했습니다.
  • 두 번째 줄: 툴\에뮬레이터를 작동하지 않았습니다.
  • 세 번째 줄: AVD의 이름을 사용자 이름으로 변경해야 합니다(여기서는 Pixel_2_).API_28)

사용:

  • 명령줄에서 start.bat 시작
  • cmd에 이 명령을 쉽게 입력합니다.
  • 뒤에 Users\ your user name \
  • 이 파일이 없으면 Android 스튜디오를 다시 설치합니다.

cmd에 이 명령 입력

에는 다음과을 만들 수 있습니다. Mac("Linux")의 AVD를 생성할 수 .alias run-android='~/Library/Android/sdk/tools/emulator -avd ${YOUR_AVD_NAME} &'

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

려달을 합니다.emulator줄입니다. 이 가지고 있는 것을 기대하기 때문입니다. 왜냐하면 그는 당신이 현재 위치에서 다음과 같은 것을 기대하기 때문입니다./emulator/qemu/${YOUR_PATFORM}/qemu-system-x86_64'에뮬레이터를 시작합니다.

실행할 avd를 선택할 수 있는 Zenity를 사용하여 이 간단한 셸 스크립트를 작성했습니다.Android_HOME을 정의하지 않은 경우에는 해당 경로를 에뮬레이터의 전체 경로로 대체하면 됩니다.이것은 Zenity 대신 select로도 쉽게 할 수 있지만 xfce-application 메뉴에서 실행하기 때문에 Zenity를 선택했습니다(.desktop 파일임에도 불구하고).

#!/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

사용 가능한 첫 번째 에뮬레이터 실행:

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

기존 AVD를 나열하고 원하는 AVD를 선택할 수 있는 시작 프로그램 스크립트입니다.요사구가 합니다.python3(최소) 및 유효한 환경 변수ANDROID_HOME또는ANDROID_SDKAndroid SDK dir 파일입니다.

#!/usr/bin/env python3

import os
import subprocess
from pathlib import Path

android_emulator_dir: Path = Path(os.environ['ANDROID_HOME'] or os.environ['ANDROID_SDK']) / 'emulator'

if android_emulator_dir.exists():
    emulator_dir = android_emulator_dir.absolute()
    print(f'SDK emulator dir: {emulator_dir}', end='\n\n')

    proc = subprocess.Popen(['./emulator', '-list-avds'], stdout=subprocess.PIPE, cwd=emulator_dir, text=True)
    avds = {idx: avd_name.strip() for idx, avd_name in enumerate(proc.stdout, start=1)}

    print('\n'.join([f'{idx}: {avd_name}' for idx, avd_name in avds.items()]))

    avd_idx = input("\nType AVD index and press Enter... ")
    avd_name = avds.get(int(avd_idx))

    if avd_name:
        subprocess.Popen(['./emulator', '-avd', avd_name, '-no-boot-anim'], cwd=emulator_dir)
    else:
        print('Invalid AVD index')
else:
    print(f'Either $ANDROID_HOME or $ANDROID_SDK must be defined!')

AppleScript 버전(MacOS에만 해당)

osascript -e '
set avds to paragraphs of (do shell script "~/Library/Android/sdk/emulator/emulator -list-avds")
set avd to (choose from list avds with prompt "Please select an AVD to start" default items "None" OK button name {"Start"} cancel button name {"Cancel"})
do shell script "~/Library/Android/sdk/emulator/emulator -avd " & avd & " -no-boot-anim > /dev/null 2>&1 &"
'

는 위스크다실수있도습다니행할서음에는에서 할 수도 .Script Editor.app 는또에에서.Automator.app(단일 따옴표 사이의 비트).또한 Script Editor를 사용하여 네이티브 macro 앱으로 저장할 수도 있습니다. 메뉴에서 File(파일)을 선택하고 (Option) 키를 누른 상태에서 Save As(다른 이름으로 저장)를 선택한 다음 File Format:응용 프로그램.

Windows 10 도움이 된 기능:

1 cd C:\Users\xxx\AppData\Local\안드로이드\Sdk\에뮬레이터

2 사용 가능한 모든 목록: 에뮬레이터 -list-avds

3 NON-GUI 모드로 시작: 에뮬레이터 -avd Pixel_3a_API_30_x86 - 창 없음

Windows의 경우:

Windows 검색 줄에서 환경을 검색하고 "시스템 환경 변수 편집"을 선택합니다.
시스템 속성 창에서 환경 변수를 클릭하고 PATH 환경 변수의 값을 지정합니다.

C:\사용자\{USER}\AppData\Local\안드로이드\SDK\에뮬레이터.

다음을 입력합니다.emulator -list-avds모든 AVD 목록이 표시됩니다. AVD를 "AVD"를 합니다.emulator -avd {EmulatorName}

Android 에뮬레이터의 올바른 경로를 추가한 경우 AVD가 열립니다.

이미 에뮬레이터가 있고 명령을 사용하여 해당 명령을 사용하려면 이 1줄 코드만 사용하십시오.

cd  C:\Users\yourUserName\AppData\Local\Android\Sdk\emulator | ./emulator -avd Pixel_5_API_32

감사합니다 나중에...

dns 도움말을 사용하여 명령줄에서 에뮬레이터 시작

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

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

  2. dns set /Users/{{UserName}}/라이브러리/Android/sdk/tools/에뮬레이터 -avd Pixel_로 에뮬레이터 시작API_26 -dns-server 8.8.8.8

언급URL : https://stackoverflow.com/questions/4974568/how-do-i-launch-the-android-emulator-from-the-command-line

반응형