Reputation: 5056
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
Reputation: 31801
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
:
The applescript below will show a simple GUI which allows you to pick the android image you want to launch.
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
Reputation: 461
Latest command as of 2024.
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
Reputation: 613
if you are on visual studio code and using flutter, then you can simply launch it from there:
ctrl
+shift
+p
Flutter: Launch Emulator
Upvotes: 4
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:
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)
and then I opened procmanager (from sysinternals) and used 'Find windows process (drag over window)' tool, and selected the emulator
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.
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
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
now im starting the emulator in the same way android studio do it, but via a shortcut and without opening android studio.
Upvotes: 3
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
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
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
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
Reputation: 2414
cd C:\Users\mxsof\AppData\Local\Android\Sdk\emulator
emulator -avd pixel_2_api_29
That's all. Happy coding!
Upvotes: 3
Reputation: 4258
A Picture worth thousand words :)
How to Start AVD from MAC terminal
Upvotes: 20
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
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
Upvotes: 8
Reputation: 3791
1. Complete Video tutorials (For all windows versions)
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]
Upvotes: 44
Reputation: 181
in 2019 , there might have some changes due to android studio update.
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 )
check the list of emulators that you all ready created by
emulator -list-avds
copy your preferred emulator name.
choose and run your emulator by
emulator -avd < your preferred emulator name >
done.
Upvotes: 4
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
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
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
Reputation: 1419
For Windows Users
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
you can see my post to auto start emulator when windows start
Upvotes: 1
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
Reputation: 1285
For Windows users:
C:\Users\[yourusername]\AppData\Local\Android\Sdk\emulator
emulator.exe
and send as a shortcut to where you want.@
symbol.C:\Users\[yourusername]\AppData\Local\Android\Sdk\emulator\emulator.exe @EmulatorName
Upvotes: 4
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
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.
C:\Users\YOURUSERNAME\AppData\Local\Android\Sdk\tools\
@
in front (take a look at the picture below )now you can do whatever yhou want with that shortcut, put on the desktop, bind it to the start-menu or whatever
Upvotes: 10
Reputation: 424
(Only for Windows) Why to torture yourself? Make a Simple BAT file ! :
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
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
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
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
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
Reputation: 1331
On windows
......\Android\sdk\tools\bin\avdmanager list avds
......\Android\sdk\tools\emulator.exe -avd Nexus_5X_API_27
Upvotes: 1
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
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