Mac Terminal - How to start Android Virtual Device

2019-01-23 04:06发布

问题:

I am currently developing a mobile web application and I don't have a test device yet so I'm using the android-emulator to check the site. On my mac, I have installed the stand-alone Android SDK. Every time I want to use the AVD Manager, I have to execute the following on my terminal:

monitor

This command (being executed on the installed android sdk path) will open the Android Device Monitor and from here, I go to its menu bar and select Window Virtual Device Manager just to open the AVD Manager. So, is there a shortcut for that? I mean, i want to directly open the AVD manager via cli.

回答1:

In order to open the avd manager on terminal, execute the following:

/usr/bin/java -Xmx256M -XstartOnFirstThread \
 -Dcom.android.sdkmanager.toolsdir=/path/of/android-sdk-macosx/tools \
 -classpath /path/of/android-sdk-macosx/tools/lib/sdkmanager.jar:/path/of/android-sdk-macosx/tools/lib/swtmenubar.jar:/path/of/android-sdk-macosx/tools/lib/x86_64/swt.jar com.android.sdkmanager.Main avd


回答2:

I was able to open it from terminal with:

android avd

You may need to navigate to your SDK tools/ first. Here is reference I used: AVD Manager



回答3:

Go to tools directory inside your android sdk like:

cd ~/Android/Sdk/tools

and enter run your avd as

./emulator -avd <your-avd>

You can find your avd name by running:

./emulator -list-avds


回答4:

this is just a small addon to previous solutions presented. What is probably handy to do is to just jam this as a alias into your bash_profile like so:

Open your bash_profile:

nano ~/.bash_profile

Add this:

alias avd='cd /path-to-sdk/tools; ./android avd'

Source it again:

source ~/.bash_profile

In the CLI type:

avd

Now you can open up the AVD by just using avd in the command line. The only thing i haven't figured out how to make it stay alive after closing the terminal. Maybe somebody has tips on that.



回答5:

You can start emulator use terminal shell

emulator -avd <avd_name> [<options>]

options can be special -http-proxy, -dns-server setting. Get more options here

And to list all avd you can use:

emulator -list-avds

result like following:

4.7_WXGA_API_23
Nexus_5X_Edited_API_23

Example when I start Nexus_5X_Edited_API_23 emulator in OS X 10.11 with proxy setting

~/Library/Android/sdk/tools/emulator -netdelay none -netspeed full -avd Nexus_5X_Edited_API_23 -http-proxy http://username:password@local_server:8080