我在Mac上,从终端开始进行Android开发。我已经成功创建了HelloWorld项目,现在我正在尝试从Android模拟器中的命令行运行它。哪个命令为我的HelloWorld项目运行模拟器?
我的PATH中已经有了Android工具和平台工具。
修改
如何告诉模拟器从命令行运行我的HelloWorld项目?我已经用ant构建了这个项目。
答案 0 :(得分:348)
我假设您已经构建了项目并且只需要启动它,但是您没有创建任何AVD并且必须使用命令行来执行所有操作。您必须执行以下操作。
android create avd -n <name> -t <targetID>
,其中targetID是您需要的API级别。如果您可以使用GUI,只需键入android avd
,它就会启动管理器,您可以在其中执行相同操作。您可以详细了解AVD management through GUI和through command line。emulator -avd <name>
或之前启动的GUI运行AVD。等到仿真器完全加载,需要一些时间。您可以阅读additional options here。install
目标。但是,您可以使用命令adb install <path-to-your-APK>
手动安装应用程序。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
./emulator -avd {AVD_NAME}
./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
答案 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中经过测试):
cd ~/AppData/Local/Android/sdk/emulator
./emulator -list-avds
并记下仿真器的名称。例如MY_EMULATOR
。打开记事本并添加以下两行(插入仿真器的名称而不是MY_EMULATOR
):
cd ~/AppData/Local/Android/sdk/emulator; ./emulator -avd MY_EMULATOR
将文件另存为myfile。 sh 。您可以根据自己的需要更改“ myfile”,但是需要扩展名 .sh 。
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 -help
或emulator -list-avds
在终端显示模拟器
并使用以下命令运行Android模拟器:
emulator -avd <name>
注意:对于bash,应将.zshrc替换为.bashrc。
答案 14 :(得分:2)
上提供的avd名称列表
.android / AVD
/ SDK_PATH / tools / emulator -netdelay none -netspeed full -avd “AVD_NAME”
答案 15 :(得分:1)
对于一键启动( BATCH 文件),这就是我要做的:
c: cd C:\Program Files (x86)\Android\android-sdk\emulator\ emulator -avd Pixel_2_API_28
说明:
使用:
答案 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
答案 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)
答案 20 :(得分:0)
nano ~/.zshrc
编辑您的个人资料export ANDROID_SDK_HOME="~/Android/Sdk"
alias emulator="$ANDROID_SDK_HOME/emulator/emulator"
source ~/.zshrc
来获取配置文件或,只需注销并重新登录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,则只需将其替换为模拟器的完整路径即可。 这对于select而不是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
检查现有的avd: - 模拟器-list-avds
使用dns设置启动模拟器 / Users / {{UserName}} / Library / Android / sdk / tools / emulator -avd Pixel_API_26 -dns-server 8.8.8.8
答案 24 :(得分:0)
答案 25 :(得分:0)
启动器脚本,其中列出了现有的AVD,并允许您选择所需的AVD。至少需要python3
(至少v3.4
)和指向Android SDK目录的有效环境变量ANDROID_HOME
或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!')
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.app
或Automator.app
(单引号之间的位)运行。您也可以使用脚本编辑器将其另存为本地macOS应用:在菜单上选择文件,按住⌥(选项)键,选择另存为,然后选择文件格式:应用程序。
答案 26 :(得分:0)
emulator -list-avds
这将列出您的 Android Studio 中安装的所有设备。
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