我在Mac上,正在从终端上进行Android开发。我已经成功创建了HelloWorld项目,现在尝试从Android仿真器中的命令行运行它。哪个命令为我的HelloWorld项目运行模拟器?
我的PATH中已经有Android工具和平台工具。
编辑:
如何告诉模拟器从命令行运行我的HelloWorld项目?我已经用ant构建了项目。
我在Mac上,正在从终端上进行Android开发。我已经成功创建了HelloWorld项目,现在尝试从Android仿真器中的命令行运行它。哪个命令为我的HelloWorld项目运行模拟器?
我的PATH中已经有Android工具和平台工具。
编辑:
如何告诉模拟器从命令行运行我的HelloWorld项目?我已经用ant构建了项目。
Answers:
我假设您已经构建了项目并且只需要启动它,但是您没有创建任何AVD,必须对所有操作使用命令行。您必须执行以下操作。
android create avd -n <name> -t <targetID>
在targetID是所需的API级别的地方调用。如果可以使用GUI,只需键入,android avd
它将启动管理器,您可以在其中执行相同的操作。您可以通过GUI和命令行阅读有关AVD管理的更多信息。emulator -avd <name>
或通过先前启动的GUI 运行AVD 。等待仿真器完全加载,这需要一些时间。您可以在此处阅读有关其他选项的信息。install
目标即可。但是,您可以使用command手动安装应用程序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
在上面的行中用just 代替.HelloWorld
,它也将起作用。adb install <path-to-your-APK>
,我得到了error: device not found
。如果在一个外壳中运行模拟器,而在另一个外壳中运行adb install命令,则会得到error: device offline
。如何设置模拟的虚拟设备?
adb devices
命令检查设备的当前状态。
adb kill-server; adb start-server
如果什么都没出现adb devices
列出您所有的模拟器:
emulator -list-avds
运行带有-avd
标志的列出的仿真器之一:
emulator -avd @name-of-your-emulator
在emulator
下面:
${ANDROID_SDK}/tools/emulator
cd
进入$ ANDROID_SDK / tools文件夹,否则它将不起作用。
emulator
频率更高,为什么不创建别名:nano ~/.bashrc
>添加alias emulator='$ANDROID_HOME/tools/emulator'
,保存,. ~/bashrc
就完成了。(替换为ANDROID_HOME
使用的正确变量或android文件夹的静态路径)。
tools
文件夹,则它实际上将无法工作。我错了PANIC: Missing emulator engine program for 'x86' CPU.
。(我在Linux上,是OpenSUSE。)导航到tools
然后运行emulator -avd "{name}"
后,它就起作用了。
cd ~/Library/Android/sdk/tools
./emulator -avd {AVD_NAME}
./emulator -list-avds
./
作为emulator
命令的一部分包含在路径/别名中?
~/Android/Sdk/emulator
。
在这里,您可以检查通过命令行执行此命令的选项:
emulator -avd avd_name [-option [value]] ... [-qemu args]
例如,我在下面这样使用它:
emulator -avd ICS_ARM -wipe-data -no-boot-anim -cpu-delay 0
如果严格尝试从命令行运行仿真器,请在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
NAMEOFDEVICE
为仿真器的实际名称。进行操作emulator -list-avds
以获取系统中拥有的avds的列表。
打开命令提示符并转到 <android-Home>\sdk\tools>emulator -avd <AVD_NAME>
这"emulator"
是用于打开您的Android虚拟设备的命令。
如果您拥有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模拟器启动!
(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)
您可以在文件夹home cd /home/Youuser/.android/avd/中查看模拟器
该android create avd
命令已弃用。现在建议改为使用avdmanager
命令行来启动仿真器。
首先,如果尚不存在,请创建一个新的模拟器:
avdmanager create avd --name "MyEmulator" -k "system-images;android-
26;google_apis;x86"
假设您已经安装了与API 26匹配的X86系统映像,并且已安装Google API。
然后,您可以使用启动模拟器emulator @MyEmulator
。
现在,假设您已经安装了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
在Mac(我认为是Linux)上,在创建AVD之后,您可以创建别名:
alias run-android='~/Library/Android/sdk/tools/emulator -avd ${YOUR_AVD_NAME} &'
注意:别名的执行不会锁定您的终端,如果您需要的话,只需删除最后一个'&'即可。
emulator
自行运行它会给您一个错误,因为他希望您在当前位置具有:/emulator/qemu/${YOUR_PATFORM}/qemu-system-x86_64'
启动模拟器。
我使用Zenity编写了这个简单的Shell脚本,可让您选择要运行的avd。如果没有定义ANDROID_HOME,则可以将其替换为仿真器的完整路径。使用select而不是Zenity也很容易做到,但是我选择了Zenity,因为我是从xfce应用程序菜单(尽管是.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
运行第一个可用的模拟器:
~/Library/Android/sdk/tools/emulator -avd `~/Library/Android/sdk/tools/emulator -list-avds | awk '{print $1}'`
~/Library/Android/sdk/tools/emulator -avd $(~/Library/Android/sdk/tools/emulator -list-avds | head -1)
nano ~/.zshrc
以编辑您的个人资料export ANDROID_SDK_HOME="~/Android/Sdk"
alias emulator="$ANDROID_SDK_HOME/emulator/emulator"
source ~/.zshrc
或者仅注销然后重新登录emulator -help
在终端中运行命令进行测试注意:应bash
替换.zshrc
为.bashrc
我来晚了,但是想分享一下,以便以后以后需要时也可以帮助到我和其他人:),所以下面是使用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
avdmanager
和启动emulator
。