我在Mac上,在终端上进行Android开发。我已经成功地创建了HelloWorld项目,现在我试图从Android模拟器中的命令行运行它。哪个命令运行HelloWorld项目的模拟器?
我已经有Android工具和平台工具在我的路径。
编辑:
如何告诉模拟器从命令行运行HelloWorld项目?我已经用ant构建了这个项目。
我在Mac上,在终端上进行Android开发。我已经成功地创建了HelloWorld项目,现在我试图从Android模拟器中的命令行运行它。哪个命令运行HelloWorld项目的模拟器?
我已经有Android工具和平台工具在我的路径。
编辑:
如何告诉模拟器从命令行运行HelloWorld项目?我已经用ant构建了这个项目。
当前回答
现在假设你已经安装了Android Studio(2.2)在我的情况下,只有一个模拟器,你可能会使用这一行
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`"
召回到源~/。概要文件~ /。在测试之前使用别名
下次只需要$ androidup
其他回答
列出所有模拟器:
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
我迟到了,在这里,但想要分享,所以它可能会帮助别人和我以后需要的时候:), 下面是使用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
转到模拟器所在的目录
美元{ANDROID_SDK} -工具-模拟器
从CLI检查模拟器列表
模拟器-list-avds
从列表中提取AVD
-avd模拟器{avd_name}
一个启动程序脚本,列出现有的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。