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

Thi*_*Lam 349 console command-line android console-application android-emulator

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

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

编辑:

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

Mal*_*olm 358

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

  1. 为您需要的平台创建新的虚拟设备(AVD).如果必须使用命令行创建AVD,则可以调用android create avd -n <name> -t <targetID>targetID所需的API级别.如果您可以使用GUI,只需键入android avd并启动管理器,您也可以在其中执行相同操作.您可以通过GUI命令行了解有关AVD管理的更多信息.
  2. 通过使用命令emulator -avd <name>或通过先前启动的GUI 运行AVD .等到仿真器完全加载,需要一些时间.您可以在此处阅读其他选项.
  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在上面的行中替换just .HelloWorld,它也会起作用.

  • 通过以下方式重新启动adb-server:`adb kill-server; adb start-server`如果没有出现在`adb devices`上 (4认同)
  • 好的,从上一版本的答案中收回信息.:)如果你收到设备离线的消息,我认为你只是没有让系统加载.尝试在显示Android徽标时向模拟器发送命令是没用的,您必须等到它向您显示锁屏.你是对的,你必须使用另一个shell实例向你的设备发送命令.顺便说一句,您可以使用`adb devices`命令检查设备的当前状态. (3认同)

小智 241

列出所有模拟器:

emulator -list-avds
Run Code Online (Sandbox Code Playgroud)

运行列出的模拟器之一:

emulator -avd @name-of-your-emulator
Run Code Online (Sandbox Code Playgroud)

在哪里-avd:

${ANDROID_SDK}/tools/emulator
Run Code Online (Sandbox Code Playgroud)

  • 如果你从 Linux 终端运行,你必须 `cd` 进入 $ANDROID_SDK/tools 文件夹,否则它将无法工作。 (6认同)
  • 谢谢!如果你经常使用`emulator`,为什么不创建一个别名:`nano~/.bashrc`>添加`alias emulator ='$ ANDROID_HOME/tools/emulator'`,save,`.〜/ bashrc`你已经完成了.(将`ANDROID_HOME`替换为使用的正确变量或android文件夹的静态路径). (4认同)
  • 如果引发以下错误:错误:./ android/qt/qt_setup.cpp:28:在../emulator/lib64/qt/lib中找不到Qt库,从$ ANDROID_HOME/tools启动模拟器是一种解决方法.https://github.com/decosoftware/deco-ide/issues/289 (3认同)

Ali*_*Sao 85

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

cd ~/Library/Android/sdk/tools
Run Code Online (Sandbox Code Playgroud)

要直接运行某个AVD:

./emulator -avd {AVD_NAME}
Run Code Online (Sandbox Code Playgroud)

要列出您的AVD使用:

./emulator -list-avds
Run Code Online (Sandbox Code Playgroud)

  • 啊发现它:C:\ Users\<user>\AppData\Local\Android\sdk\emulator (8认同)

ABD*_*ids 25

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

此时不要重新启动模拟器,而是尝试下面两个命令,再次停止和启动adb桥.

adb kill-server

adb start-server


小智 24

在这里,您可以通过命令行检查执行此命令的选项:

emulator -avd avd_name [-option [value]] ... [-qemu args]
Run Code Online (Sandbox Code Playgroud)

例如,我使用它如下所示:

emulator -avd ICS_ARM -wipe-data -no-boot-anim -cpu-delay 0
Run Code Online (Sandbox Code Playgroud)


Adi*_*iii 12

打开CMD

  1. 打开命令提示符
  2. 在我的情况下键入模拟器的路径

C:\ ADT-束 - 窗口x86_64-20140702\SDK \工具 在此输入图像描述

  1. 在我的例子中写"emulator -avd emulatorname"

模拟器-avd AdilVD

在此输入图像描述


Ric*_*ick 10

如果您严格尝试从命令行运行模拟器,请在OSX中尝试此操作.

"/Applications/Android Studio.app/sdk/tools/emulator" -avd <NAMEOFDEVICE> -netspeed full -netdelay none
Run Code Online (Sandbox Code Playgroud)

您可以通过向.bash_profile添加别名并将其发送到后台作业来简化它.

alias android='/Applications/Android\ Studio.app/sdk/tools/emulator <NAMEOFDEVICE> -netspeed full -netdelay none &'
Run Code Online (Sandbox Code Playgroud)

让Bash知道这些变化.

source ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)

  • @Andy 你应该用模拟器的实际名称替换`NAMEOFDEVICE`。执行`emulator -list-avds` 以获取您系统中的avd 列表。 (2认同)

小智 9

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

以下"emulator"是用于打开Android虚拟设备的命令.


Muh*_*hid 8

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

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

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

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


pay*_*fat 7

带有 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 -help或者emulator -list-avds 在终端中显示您的模拟器并使用命令运行 Android 模拟器:

emulator -avd <name>

注意:bash 应该是相同的,将 .zshrc 替换为 .bashrc


rom*_*n21 6

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


小智 6

进入模拟器所在目录

${ANDROID_SDK}/工具/模拟器

从 CLI 检查模拟器列表

模拟器-列表-avds

从列表中运行 AVD

模拟器 -avd {avd_name}


Dav*_*kro 5

(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)
Run Code Online (Sandbox Code Playgroud)

您可以在文件夹 home cd /home/Youuser/.android/avd/ 中查看模拟器


Jai*_*udo 5

现在假设你在我的例子中安装了 Android Studio (2.2) 并且只有 1 个模拟器,你可以使用这个 liner

export ANDROID_SDK_ROOT=~/Library/Android/sdk/ && emulator '@'`emulator -list-avds`
Run Code Online (Sandbox Code Playgroud)

如果你经常这样做,让它更容易:

$ echo 'export ANDROID_SDK_ROOT=~/Library/Android/sdk/' >> ~/.profile
Run Code Online (Sandbox Code Playgroud)

添加别名 ~.aliases

alias androidup="emulator '@'`emulator -list-avds`" 
Run Code Online (Sandbox Code Playgroud)

source ~/.profile ~/.aliases在测试之前回想一下

下次只要 $ androidup


fra*_*nch 5

android create avd命令已弃用。现在建议改为使用avdmanager从命令行启动模拟器。

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

avdmanager create avd --name "MyEmulator" -k "system-images;android-
26;google_apis;x86"
Run Code Online (Sandbox Code Playgroud)

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

然后,您可以使用emulator @MyEmulator.


Arm*_*ved 5

  1. 打开命令
  2. 获取所有模拟器列表(C:\Users\DJango\AppData\Local\Android\sdk\emulator>emulator -list-avds)
  3. 选择任何模拟器(C:\Users\DJango\AppData\Local\Android\sdk\emulator>emulator -avd Pixel_2_API_28)