我在Mac上,从终端开始进行Android开发。我已成功创建了HelloWorld项目,现在我正在尝试从Android模拟器中的命令行运行它。哪个命令为我的HelloWorld项目运行模拟器?
我的PATH中已经有了Android工具和平台工具。
编辑:
如何告诉模拟器从命令行运行我的HelloWorld项目?我已经用ant构建了这个项目。
我假设您已经构建了项目并且只需要启动它,但是您没有创建任何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
,它也会起作用。android create avd
命令已弃用。现在建议使用avdmanager
来从命令行启动模拟器。
首先,创建一个新的模拟器(如果尚不存在):
avdmanager create avd --name "MyEmulator" -k "system-images;android-
26;google_apis;x86"
这假设您已经安装了与API 26匹配的X86系统映像,并且已安装了Google API。
然后,您可以使用emulator @MyEmulator
启动模拟器。
如果您有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
chmod +x myfile.sh
。记得把你的文件名而不是myfile。就是这样!从现在开始,每次你需要启动该模拟器时,只需找到你的myfile.sh并双击它并等待你的Android模拟器启动!
现在假设您已经安装了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
可用的avd名称列表
.android / DEP
/ SDK_PATH / tools / emulator -netdelay none -netspeed full -avd“AVD_NAME”
在Windows中,我使用此PowerShell脚本启动它。
$em = $env:USERPROFILE+"\AppData\Local\Android\sdk\tools\emulator.exe";
Start-Process $em " -avd Nexus_5X_API_24" -WindowStyle Hidden;
在Mac(和我认为的Linux)上,在创建AVD后,您可以创建一个别名:alias run-android='~/Library/Android/sdk/tools/emulator -avd ${YOUR_AVD_NAME} &'
注意:别名的执行不会锁定您的终端,如果您需要,只需删除最后一个'&'。
运行emulator
它会给你一个错误,因为他希望在你当前的位置,你有:/emulator/qemu/${YOUR_PATFORM}/qemu-system-x86_64'
来启动模拟器。
使用dns帮助从命令行启动模拟器
模拟器程序位置:/ Users / {{UserName}} / Library / Android / sdk / tools
我使用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
运行第一个可用的模拟器:
~/Library/Android/sdk/tools/emulator -avd `~/Library/Android/sdk/tools/emulator -list-avds | awk '{print $1}'`
列出所有模拟器:
emulator -list-avds
使用-avd
标志运行其中一个列出的模拟器:
emulator -avd @name-of-your-emulator
emulator
所在的地方:
${ANDROID_SDK}/tools/emulator
cd ~/Library/Android/sdk/tools
./emulator -avd {AVD_NAME}
./emulator -list-avds
只是要添加到此处,每当您收到“错误:设备脱机”时,表示由于模拟器启动所花费的时间而导致与仿真器和adb桥的连接中断。
此时不要重新启动模拟器,而是尝试下面两个命令,再次停止和启动adb桥。
adb kill-server
adb start-server
Here您可以通过命令行检查执行此命令的选项:
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
打开命令提示符并转到<android-Home>\sdk\tools>emulator -avd <AVD_NAME>
这里"emulator"
是用于打开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/