如何从命令行启动Android模拟器?

时间:2011-02-11 22:06:43

标签: android command-line android-emulator console console-application

我在Mac上,从终端开始进行Android开发。我已经成功创建了HelloWorld项目,现在我正在尝试从Android模拟器中的命令行运行它。哪个命令为我的HelloWorld项目运行模拟器?

我的PATH中已经有了Android工具和平台工具。

修改

如何告诉模拟器从命令行运行我的HelloWorld项目?我已经用ant构建了这个项目。

28 个答案:

答案 0 :(得分:348)

我假设您已经构建了项目并且只需要启动它,但是您没有创建任何AVD并且必须使用命令行来执行所有操作。您必须执行以下操作。

  1. 为您需要的平台创建新的虚拟设备(AVD)。如果必须使用命令行创建AVD,则可以调用android create avd -n <name> -t <targetID>,其中targetID是您需要的API级别。如果您可以使用GUI,只需键入android avd,它就会启动管理器,您可以在其中执行相同操作。您可以详细了解AVD management through GUIthrough command line
  2. 使用命令emulator -avd <name>或之前启动的GUI运行AVD。等到仿真器完全加载,需要一些时间。您可以阅读additional options here
  3. 现在您必须将应用程序安装到AVD。通常在开发期间,您只需使用用于构建项目的相同Ant脚本,只需选择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,它也可以使用。

答案 1 :(得分:215)

列出所有模拟器:

emulator -list-avds

使用-avd标志运行其中一个列出的模拟器:

emulator -avd @name-of-your-emulator

emulator所在的位置:

${ANDROID_SDK}/tools/emulator

答案 2 :(得分:74)

我认为通过终端到达它的最佳方式是:

cd ~/Library/Android/sdk/tools

直接运行某个AVD:

./emulator -avd {AVD_NAME}

列出您的AVD使用:

./emulator -list-avds

答案 3 :(得分:25)

只是在这里添加,每当你收到“错误:设备离线”意味着与模拟器和放大器的连接;由于模拟器启动所花费的时间,adb桥已被破坏。

此时不是重新启动模拟器,而是尝试下面两个命令停止&amp;再次启动adb桥。

  

adb kill-server

     

adb start-server

答案 4 :(得分:24)

Here您可以通过命令行检查执行此命令的选项:

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

例如,我使用如下所示:

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

答案 5 :(得分:12)

打开CMD

  1. 打开命令提示符
  2. 在我的案例中输入模拟器的路径
  3.   

    C:\ ADT-束 - 窗口x86_64-20140702 \ SDK \工具   enter image description here

    1. 写&#34;模拟器-avd模拟器名&#34;在我的情况下
    2.   

      模拟器-avd AdilVD

      enter image description here

答案 6 :(得分:10)

如果您严格尝试从命令行运行模拟器,请在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

答案 7 :(得分:8)

打开命令提示符并转到<android-Home>\sdk\tools>emulator -avd <AVD_NAME>

此处"emulator"是用于打开 Android虚拟设备的命令。

答案 8 :(得分:4)

如果您拥有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模拟器启动即可!

答案 9 :(得分:4)

(Linux)的 在你的终端Copy&amp;粘贴并更改蓝色的三个字段

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

答案 10 :(得分:4)

不推荐使用android create avd命令。现在建议使用avdmanager代替从命令行启动模拟器。

首先,如果尚未存在,请创建一个新的模拟器:

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

这假设您已经安装了与API 26匹配的X86系统映像,并安装了Google API。

然后,您可以使用emulator @MyEmulator启动模拟器。

答案 11 :(得分:3)

现在假设您已经安装了Android Studio(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

下次只有$ androidup

答案 12 :(得分:3)

转到模拟器所在的目录

$ {ANDROID_SDK} / tools / emulator

从CLI检查模拟器列表

模拟器-list-avds

从列表中运行AVD

emulator -avd {avd_name}

答案 13 :(得分:2)

带有zsh的Mac 的说明:

打开终端窗口(CTRL + ALT + T) 运行命令 nano ~/.zshrc 编辑您的个人资料 在打开的文件中添加以下行:

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

alias emulator="$ANDROID_SDK_HOME/emulator/emulator"

保存文件(CTRL + O,CTRL + X) 通过运行命令source〜/ .zshrc来获取概要文件,或者仅注销并重新登录 通过运行以下命令进行测试:

emulator -helpemulator -list-avds 在终端显示模拟器 并使用以下命令运行Android模拟器:

emulator -avd <name>

注意:对于bash,应将.zshrc替换为.bashrc。

答案 14 :(得分:2)

上提供的avd名称列表
  

.android / AVD

     

/ SDK_PATH / tools / emulator -netdelay none -n​​etspeed full -avd   “AVD_NAME”

答案 15 :(得分:1)

对于一键启动( BATCH 文件),这就是我要做的:

  • 从Android Studio中获取了AVD的名称->工具-> AVD Manager->单击向下箭头,然后选择查看详细信息(对我来说是 Pixel_2_API_28 ,因此请在下面进行相应更改)
  • 创建一个start.bat文件,并将以下内容放入其中:
 c: 
 cd C:\Program Files (x86)\Android\android-sdk\emulator\ 
 emulator -avd Pixel_2_API_28

说明:

  • 第一行:对我来说是必要的,因为我是从d启动它的:
  • 第二行:对我而言,我无法使用tools \ emulator
  • 第三行: 确保使用您的名称更改AVD的名称(此处 Pixel_2_API_28

使用:

  • 从命令行启动start.bat

答案 16 :(得分:1)

在Mac(和我认为的Linux)上,创建AVD后,您可以创建一个别名: alias run-android='~/Library/Android/sdk/tools/emulator -avd ${YOUR_AVD_NAME} &'

注意:别名的执行不会锁定您的终端,如果您需要,只需删除最后的&#39;&amp;&#39;

运行emulator它会给你一个错误,因为他希望在你当前的位置,你有/emulator/qemu/${YOUR_PATFORM}/qemu-system-x86_64'来启动模拟器。

答案 17 :(得分:1)

我来晚了,但是想分享一下,也许以后再需要的时候也会对我和其他人有帮助:), 因此,以下是使用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

enter image description here

答案 18 :(得分:1)

在Windows中,我使用此PowerShell脚本启动它。

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

答案 19 :(得分:0)

  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)

答案 20 :(得分:0)

请参见以下有关 zsh Ubuntu Linux 的说明:

  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

答案 21 :(得分:0)

运行第一个可用的模拟器:

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

答案 22 :(得分:0)

我使用Zenity编写了这个简单的shell脚本,可以让你选择你想要运行的avd。如果您没有定义ANDROID_HOME,则只需将其替换为模拟器的完整路径即可。 这对于s​​elect而不是Zenity也很容易,但我选择了Zenity,因为我从xfce-application菜单运行它(虽然是.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

答案 23 :(得分:0)

使用dns help从命令行启动模拟器

模拟器程序位置:/ Users / {{UserName}} / Library / Android / sdk / tools

  1. 检查现有的avd: - 模拟器-list-avds

  2. 使用dns设置启动模拟器 / Users / {{UserName}} / Library / Android / sdk / tools / emulator -avd Pixel_API_26 -dns-server 8.8.8.8

答案 24 :(得分:0)

  • 在cmd中轻松键入此命令。
  • Users\ your user name \之后替换
  • 如果您没有此文件,请重新安装android studio。

type this command in cmd

答案 25 :(得分:0)

启动器脚本,其中列出了现有的AVD,并允许您选择所需的AVD。至少需要python3至少v3.4 )和指向Android SDK目录的有效环境变量ANDROID_HOMEANDROID_SDK

#!/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.appAutomator.app(单引号之间的位)运行。您也可以使用脚本编辑器将其另存为本地macOS应用:在菜单上选择文件,按住(选项)键,选择另存为,然后选择文件格式应用程序

答案 26 :(得分:0)

  1. 要列出所有已安装的设备:emulator -list-avds

这将列出您的 Android Studio 中安装的所有设备。

  1. 运行模拟器:emulator -avd device_name

例如,如果您在运行选项 1 中的命令后得到 Pixel_3a_API_30_x86,那么您运行模拟器的命令将是:emulator -avd Pixel_3a_API_30_x86

答案 27 :(得分:0)

windows 10 对我有什么帮助:

1 cd C:\Users\xxx\AppData\Local\Android\Sdk\emulator

2 列出所有可用的:emulator -list-avds

3 以非 GUI 模式启动:模拟器 -avd Pixel_3a_API_30_x86 -no-window