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

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

编辑:

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


当前回答

如果你有Git Bash,你可以双击打开模拟器,进行一些初始设置(仅在Windows 10中测试):

Open Git Bash. Run cd ~/AppData/Local/Android/sdk/emulator Run ./emulator -list-avds and keep note of the emulator's name. MY_EMULATOR for example. Open Notepad and add these two lines (insert your emulator's name instead of MY_EMULATOR): cd ~/AppData/Local/Android/sdk/emulator; ./emulator -avd MY_EMULATOR Save the file somewhere convinient as myfile.sh. You can change "myfile" as suits you best, but the extension .sh is needed. Open Git Bash at the directory where you stored myfile.sh and run chmod +x myfile.sh. Remember to put your file's name instead of myfile.

就是这样!从现在开始,每次你需要启动模拟器,只要找到你的myfile.sh,双击它,等待你的Android模拟器启动!

其他回答

一个启动程序脚本,列出现有的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应用程序:在菜单上选择“文件”,按住“选项”键,选择“另存为”,然后选择“文件格式:应用程序”。

列出所有模拟器:

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

打开CMD

打开命令提示符 在我的例子中输入模拟器的路径

C: \ adt - bundle - windows - x86_64 - 20140702 \ \ sdk工具

在我的例子中写“emulator -avd emulatorname”

-avd阿迪vd模拟器

Mac使用zsh的说明:

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

出口ANDROID_SDK_HOME = " ~ /图书馆/ Android Sdk”

别名模拟器=“ANDROID_SDK_HOME美元-模拟器,模拟器”

保存文件(CTRL+O, CTRL+X) 通过运行Source ~/命令获取概要文件的来源。或者注销再重新登录 运行以下命令进行测试:

模拟器-help或模拟器-list-avds 在终端中显示模拟器 运行Android模拟器:

模拟器-avd <name>

注意:将.zshrc替换为.bashrc对于bash也应该是一样的

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