HHeckner
HHeckner

Reputation: 5056

Run AVD Emulator without Android Studio

is there a way to run the emulator without starting the Android Studio first. Perhaps from the command line. I know that this feature was available in older versions and has vanished since then. But perhaps someone found out how to do it anyways?

Upvotes: 405

Views: 384106

Answers (30)

ccpizza
ccpizza

Reputation: 31801

Generic android emulator bash launcher script

A cli wrapper that should work on any OS with bash; requires setting the correct path to the emulator executable:

#!/usr/bin/env bash

set -Eeuo pipefail

# FIXME::TODO: set correct SDK path!
EMULATOR=~/Library/Android/sdk/emulator/emulator

if [[ ! -x "$EMULATOR" ]]; then
    echo "Invalid emulator path: $EMULATOR" >&2
    exit 1
fi

# List AVDs
mapfile -t AVD_LIST < <($EMULATOR -list-avds 2>/dev/null)

# show options
for i in "${!AVD_LIST[@]}"; do
    printf "[%d] %s\n" "$((i + 1))" "${AVD_LIST[i]}"
done

echo -n "Select a virtual device (1-${#AVD_LIST[@]}): "
read -r SELECTION

SELECTED_AVD="${AVD_LIST[SELECTION - 1]}"
exec "$EMULATOR" -avd "$SELECTED_AVD" -no-boot-anim

Save the script to any folder in your path, e.g. /usr/local/bin/android-emulator-run.sh, make it executable chmod +x /usr/local/bin/android-emulator-run.sh, restart your shell (or rehash if using zsh), and run via android-emulator-run.sh:

android emulator bash launcher

Mac-specific solution (applescript)

The applescript below will show a simple GUI which allows you to pick the android image you want to launch.

Android emulator launcher GUI

The script can be run from the terminal or from the ootb script Editor.app window > Run ▶.

You can convert the script to a standalone Mac app by selecting from script editor.app File > Export... > File Format: Application > Save to /Applications folder.

### TODO! Set the correct path to your `emulator` command
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 &"

Note: To look up the correct path to the emulator run which -a emulator in a terminal.

In order to run the script from the terminal make it executable (e.g. chmod +x android_launcher.sh), and add the following shebang line at the top:

#!/usr/bin/osascript

NOTE: In more recent versions of the android sdk --list-avds includes an extra info line at the top, to remove it update the first from ...emulator -list-avds to ...emulator -list-avds | tail -n +2

NOTE: If AppleScript hurts your eyes here is a version in JXA (Javascript for Automation)

Upvotes: 16

sgrpwr
sgrpwr

Reputation: 461

Latest command as of 2024.

Mac

List AVDs

~/Library/Android/sdk/emulator/emulator -list-avds

Run AVD

~/Library/Android/sdk/emulator/emulator -avd Pixel_3a_API_34_extension_level_7_x86_64

Upvotes: 1

Saad
Saad

Reputation: 613

Visual Studio Code - Flutter

if you are on visual studio code and using flutter, then you can simply launch it from there:

  • press ctrl+shift+p
  • type Flutter: Launch Emulator
  • select an emulator to launch

    make sure you have already created an emulator in android studio.

Upvotes: 4

Eliav Louski
Eliav Louski

Reputation: 5284

this is how I've added a 'Start Pixel Emulator' to my start menu, and launched emulator in the same way as Android studio did:

enter image description here

this method can used to re-create any process launched by other process. let's start:

first I launched the emulator in the traditional way(from android studio)

enter image description here

and then I opened procmanager (from sysinternals) and used 'Find windows process (drag over window)' tool, and selected the emulator

enter image description here

this action brings up the specific process that is responsible for this windows window.

then I inspected the command that android studio used to open the emulator.

enter image description here

enter image description here

enter image description here

Android studio use this command to start the emulator:

C:\Software\Android\Sdk\emulator\emulator.exe -netdelay none -netspeed full -avd Pixel_6_API_33

let's create a new bat file with the exact same command

enter image description here

Then I used this guide to turn this script into a shortcut that can be attached to start menu.

for Dessert I wanted to also change the icon, so i used the icon of the emulator.exe file

enter image description here

enter image description here

now im starting the emulator in the same way android studio do it, but via a shortcut and without opening android studio.

Upvotes: 3

Mehran Rasa
Mehran Rasa

Reputation: 119

Here is what I've done to run the emulator quickly in windows : I've created a windows batch file like this :

start C:\Users\{Username}\AppData\Local\Android\Sdk\emulator\emulator.exe -avd {Emulator_Name}

and just run the batch file every time I need the emulator.

Upvotes: 2

mottaz hejaze
mottaz hejaze

Reputation: 1240

You can make a batch file, that will open your emulator directly without opening Android Studio. If you are using Windows:

  • Open Notepad

  • New file

  • Copy the next lines into your file:

     cd /d C:\Users\%username%\AppData\Local\Android\sdk\tools
     emulator @[YOUR_EMULATOR_DEVICE_NAME]
    

    Notes:

  • Replace [YOUR_EMULATOR_DEVICE_NAME] with the device name you created in emulator

  • To get the device name go to: C:\Users\%username%\AppData\Local\Android\sdk\tools

  • Run cmd and type: emulator -list-avds

  • Copy the device name and paste it in the batch file

  • Save the file as emulator.bat and close

  • Now double click on emulator.bat and you got the emulator running!

Upvotes: 109

anoopknr
anoopknr

Reputation: 3355

In Ubuntu 20.04, I found following solution

First You need to export Android path variables. For that :

export ANDROID_SDK=~/Android/Sdk
export PATH=$ANDROID_SDK/emulator:$ANDROID_SDK/tools:$PATH

The paths may change according to your installation path. If Android Studio is installed using Ubuntu Software then path will be same as stated above.

If the export worked correctly, then following command should list your AVD names.

emulator -list-avds

In my case, I got the result

Nexus_5_API_30

Which is the name of my AVD.

If the above command have listed your AVD name, then you could run your AVD by :

emulator @YOUR_AVD_NAME

In my case

emulator @Nexus_5_API_30

You could add the export commands to .bashrc file to avoid typing export command every time you needed to run your AVD .

Upvotes: 22

Harat
Harat

Reputation: 1366

cd C:\Users\{computer_user_name}\AppData\Local\Android\Sdk\emulator

then run:

./emulator -list-avds
or
emulator -list-avds

output:

PIXEL_2_API_29
PIXEL_2_XL_API_29

then run:

./emulator -avd PIXEL_2_XL_API_29
or
emulator -avd PIXEL_2_XL_API_29

That's it

Upvotes: 15

Dyno Cris
Dyno Cris

Reputation: 2414

  1. Just create a .bat file. Call it smth like "run pixel 2.bat"
  2. Open it with editor like Notepad++
  3. Write 2 lines of code
cd C:\Users\mxsof\AppData\Local\Android\Sdk\emulator 
emulator -avd pixel_2_api_29
  1. Launch it.

That's all. Happy coding!

Upvotes: 3

Faisal Naseer
Faisal Naseer

Reputation: 4258

A Picture worth thousand words :)

How to Start AVD from MAC terminal

AVD from MAC Terminal

Upvotes: 20

Piotr Galas
Piotr Galas

Reputation: 4776

The way to run the emulator from the console (I assume that you installed it before, using Android Studio) is:

run

cd ~/Android/Sdk/tools/bin && ./avdmanager list avd

OR

cd ~/Android/Sdk/tools && ./emulator -list-avds

You will get the list od your virtual installed devices. In my case it was:

Available Android Virtual Devices:
  Name: Galaxy_Nexus_API_17
  Device: Galaxy Nexus (Google)
  Path: /home/piotr/.android/avd/Galaxy_Nexus_API_17.avd
  Target: Google APIs (Google Inc.)
  Based on: Android 4.2 (Jelly Bean) Tag/ABI: google_apis/x86
  Skin: galaxy_nexus
  Sdcard: /home/piotr/.android/avd/Galaxy_Nexus_API_17.avd/sdcard.img

Copy name of the device you want to run and then

cd ~/Android/Sdk/tools && ./emulator -avd NAME_OF_YOUR_DEVICE

in my case:

cd ~/Android/Sdk/tools && ./emulator -avd Nexus_5X_API_23

Upvotes: 350

DarkPh03n1X
DarkPh03n1X

Reputation: 680

 Update 2020/05:
 Windows 10

first get a list of emulators, open cmd and run :

cd %homepath%\AppData\Local\Android\Sdk\emulator

then

emulator -list-avds

next create a shortcut of emulator.exe found in the directory above, then change the properties in it by editing the Target: text box like this

emulator.exe @YourDevice

enter image description here

Upvotes: 8

Sunil
Sunil

Reputation: 3791

Try this

1. Complete Video tutorials (For all windows versions)

OR

2. Text tutorials

  • Open the command prompt and change the directory where your sdk is placed D:\Softwares\Android\sdk\tools\bin>

  • now add your avdmanager in this,now your full code is D:\Softwares\Android\sdk\tools\bin>avdmanager list avd

  • it will show you a list of emulator device that you have already created after few seconds

  • now typecd..

  • and run your emulator with this cmd, Here my emulator name is Tablet_API_25 so I have typed this name after the -avd.

    D:\Softwares\Android\sdk\tools>emulator -avd Tablet_API_25

EDIT : For Android Studio 3.2 or later, the path changes to D:\Softwares\Android\sdk\emulator\emulator -avd Tablet_API_25

i.e. %ANDROID_HOME%\tools\emulator -avd [AVD NAME]

enter image description here

Upvotes: 44

Muhammed Shamil
Muhammed Shamil

Reputation: 181

in 2019 , there might have some changes due to android studio update.

  1. open command prompt [ cmd ]
  2. change directory to sdk > tools

    cd C:\Users\Intel\AppData\Local\Android\sdk\tools

if that address is not working 2.a open android studio 2.b open Gradle Scripts directory ( if you have a open project inside android studio, you can easily find in left side of the screen. ) 2.c double click on local properties ( at the very bottom ) 2.d you should see the address right away, ( sdk dir ) 2.e change your directory to that address in command prompt ( like cd AppData ) 2.f change directory again to tools ( cd tools )

  1. check the list of emulators that you all ready created by

    emulator -list-avds

  2. copy your preferred emulator name.

  3. choose and run your emulator by

    emulator -avd < your preferred emulator name >

  4. done.

Upvotes: 4

Rahul
Rahul

Reputation: 1163

If you are starting emulator for Flutter applications, then you can run below command -

> flutter emulators --launch [Emulator ID]

In my case, emulator id is Pixel_2_API_29 as i created it with AVD manager in Android studio. so the command in my case is below -

> flutter emulators --launch Pixel_2_API_29

Thanks

Upvotes: 40

Vicrobot
Vicrobot

Reputation: 3988

Firstly change the directory where your avd devices are listed; for me it is here:

cd ~/Android/Sdk/tools

Then run the emulator by following command:

./emulator -avd Your_avd_device_name

For me it is:

./emulator -avd Nexus_5X_API_27

That's all.

Upvotes: 10

James MA
James MA

Reputation: 333

You may create a shell script and put it in your desktop:

Dim WinScriptHost
Set WinScriptHost = CreateObject("WScript.Shell")
WinScriptHost.Run "C:\Users\<user>\AppData\Local\Android\Sdk\emulator\emulator -avd <AVD_NAME>", 0
Set WinScriptHost = Nothing

Replace <user> with your user id, and <AVD_NAME> with the name of your avd file, e.g. pixel_2_api_28.

Upvotes: 1

Irshad Babar
Irshad Babar

Reputation: 1419

For Windows Users

  1. create and open a bat file(.bat is the extension of file)
  2. Put the following code inside the file

    cd /d Path of SDK folder \emulator && emulator -avd Name of Emulator

Here is the example

cd /d E:\Run\Android_Installation_Final\Sdk\emulator && emulator -avd Pixel_API_28
  1. Save it.
  2. Run it from any cmd(command prompt shell)

you can see my post to auto start emulator when windows start

Upvotes: 1

connect2Coder
connect2Coder

Reputation: 1140

If you are on windows then create a .bat file and just double click that .bat file which will save you some time every day. Here is my code to launch android Emulator with use of batch file:

@echo off
title Android Emulator
color 1b
echo #################################

echo Please make sure that your android path is correct for the script
echo Change this path "C:\Users\YOUR_USER_NAME\AppData\Local\Android\Sdk\emulator" to use your curret path and save it as a .bat file on your system to launch android emulator
echo #################################
c:
cd C:\Users\YOUR_USER_NAME\AppData\Local\Android\Sdk\emulator
emulator -avd Nexus_5X_API_28

pause

Upvotes: 1

Badiparmagi
Badiparmagi

Reputation: 1285

For Windows users:

  • Copy your Emulator name.
  • Go to this directory: C:\Users\[yourusername]\AppData\Local\Android\Sdk\emulator
  • Right click on emulator.exe and send as a shortcut to where you want.
  • Right click on shortcut .exe file and add your Emulator name just copied to end of target textbox with @ symbol.
  • Double click your shortcut and done!

C:\Users\[yourusername]\AppData\Local\Android\Sdk\emulator\emulator.exe @EmulatorName

Upvotes: 4

Daniel Tadros
Daniel Tadros

Reputation: 2357

Open your terminal and

cd path_to/Android/Sdk/emulator

And run the following to get the emulator name that you created before using android studio

./emulator -list-avds

Replace $emulator_name with the one you want to launch and run

./emulator -avd $emulator_name

Upvotes: 43

Danielo515
Danielo515

Reputation: 7181

If you are on windows, what about a shortcut ? It is very easy to place whatever you want ant the icon is descriptive and nice.

  • First, navigate to your android sdk, probably at C:\Users\YOURUSERNAME\AppData\Local\Android\Sdk\tools\
  • Then right click on emulator.exe and then click create shortcut.
  • Your new and shiny shortcut gets created, probably with a predefined name.
  • Right click on the shortcut, and on the target field (my computer is on spanish) add an extra parameter with the name of your device with an @ in front (take a look at the picture below )

shortcut params

now you can do whatever yhou want with that shortcut, put on the desktop, bind it to the start-menu or whatever

Upvotes: 10

Zakir Shikhli
Zakir Shikhli

Reputation: 424

(Only for Windows) Why to torture yourself? Make a Simple BAT file ! :

  1. Open Notepad
  2. Create the command as shown below
  3. Save as *.bat
  4. (Optional) Create a shortcut to that *.bat, rename shortcut and change icon

Here is the command:

cd /d yourSdkPath\emulator && emulator -avd yourAVDName

Example:

cd /d D:\Android_SDK\emulator && emulator -avd Nexus_5_API_28

Upvotes: 2

Prachil Tambe
Prachil Tambe

Reputation: 115

For Windows

In case anyone looking for shortcut / batch script - Gist - Download batch file.

@echo off
IF [%1]==[] (GOTO ExitWithPrompt)
set i=1
FOR /F "delims=" %%i IN ('emulator -list-avds') DO (
    set /A i=i+1
    set em=%%i
    if %i% == %1 (
        echo Starting %em%
        emulator -avd %em%
        EXIT /B 0
    )
)
GOTO :Exit
:ExitWithPrompt
emulator -list-avds
echo Please enter the emulator number to start

:Exit
EXIT /B 0

Usage

D:\>start-emulator
Nexus_5_API_26
Please enter the emulator number to start

D:\>start-emulator 1
Starting Nexus_5_API_26
HAX is working and emulator runs in fast virt mode.

Upvotes: 0

Hari Anugrah
Hari Anugrah

Reputation: 544

I am working with a React Native project and I also faced this problem

I solved it by making a .bat file in my desktop that I can open fast

The content of the .bat is

C:\Users\haria\AppData\Local\Android\sdk\emulator\emulator -avd Pixel_2_XL_API_27

Where haria is my Windows username and Pixel_2_XL_API_27 is my emulator name


If you want to see your emulator name, open CMD (or PowerShell) and type (In Windows)

cd C:\Users\haria\AppData\Local\Android\sdk\emulator

Then to see the emulator(s) name

./emulator -list-avds

Upvotes: 5

Andy Wilson
Andy Wilson

Reputation: 131

This is the commands on Mac

cd ~/Library/Android/Sdk/tools/bin && ./avdmanager list avd

then

cd ~/Library/Android/Sdk/tools && ./emulator -avd NAME_OF_YOUR_DEVICE

Upvotes: 4

Rukala
Rukala

Reputation: 275

Got it working for Windows 10:

C:\Users\UserName\AppData\Local\Android\Sdk\tools>emulator -list-avds
Nexus_5X_API_28
C:\Users\UserName\AppData\Local\Android\Sdk\emulator>emulator -avd Nexus_5X_API_28

Upvotes: 4

Sumit Garai
Sumit Garai

Reputation: 1331

On windows

......\Android\sdk\tools\bin\avdmanager list avds

......\Android\sdk\tools\emulator.exe -avd Nexus_5X_API_27

Upvotes: 1

DeyaEldeen
DeyaEldeen

Reputation: 11857

to list the emulators you have

~/Library/Android/sdk/tools/emulator -list-avds

for example, I have this Nexus_5X_API_24

so the command to run that emulator is

cd ~/Library/Android/Sdk/tools && ./emulator -avd Nexus_5X_API_24

Upvotes: 22

Sibtain Raza Jamali
Sibtain Raza Jamali

Reputation: 51

For Linux/Ubuntu

Create a new File from Terminal as

gedit emulator.sh (Use any Name for file here i have used "emulator")

now write following lines in this file

cd /home/userName/Android/Sdk/tools/

./emulator @your created Android device Name

(here after @ write the name of your AVD e.g

./emulator @Nexus_5X_API_27 )

Now save the file and run your emulator using following commands

./emulator.sh

In case of Permission denied use following command before above command

chmod +x emulator.sh

All set Go..

Upvotes: 5

Related Questions