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

我已经有Android工具和平台工具在我的路径。

编辑:

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


当前回答

列出所有模拟器:

emulator -list-avds

运行一个带-avd标志的模拟器:

emulator -avd name-of-your-emulator

模拟器可执行文件在下面:

${ANDROID_SDK}/tools/emulator

或者,对于更新的sdk,尝试:

cd ${ANDROID_HOME}/emulator
emulator -avd name-of-your-emulator

其他回答

在这里,你可以通过命令行查看执行该命令的选项:

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

例如,我是这样使用它的:

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

一个启动程序脚本,列出现有的avd,让你选择一个你想要的。需要python3(至少v3.4)和一个有效的环境变量ANDROID_HOME或ANDROID_SDK指向Android 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 &"
'

上面的脚本也可以在脚本编辑器中运行。app或Automator。App(单引号之间的位)。也可以使用脚本编辑器将其保存为原生macos应用程序:在菜单上选择“文件”,按住“选项”键,选择“另存为”,然后选择“文件格式:应用程序”。

在cmd中轻松地键入此命令。 替换Users\您的用户名\ 如果你没有这个文件重新安装android studio。

Windows:

在Windows搜索栏中搜索环境,选择“编辑系统环境变量” 在“系统属性”窗口中,单击“环境变量”并指定PATH环境变量的值:

C:\Users\{USER}\AppData\Local\Android\Sdk\emulator.

现在打开CMD或Powershell,输入: 模拟器-list-avds 这将显示所有avd的列表。 要运行特定的AVD,在CMD/Powershell中输入:emulator -avd {EmulatorName}

如果您添加了正确的android模拟器路径,AVD将打开。

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

注意:别名的执行不会锁定你的终端,如果你想这样做,只需删除最后一个'&'。

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