我在Mac上,从终端开始进行Android开发 . 我已经成功创建了HelloWorld项目,现在我正在尝试从Android模拟器中的命令行运行它 . 哪个命令为我的HelloWorld项目运行模拟器?
我的PATH中已经有了Android工具和平台工具 .
Edit:
如何告诉模拟器从命令行运行我的HelloWorld项目?我已经用ant构建了这个项目 .
我在Mac上,从终端开始进行Android开发 . 我已经成功创建了HelloWorld项目,现在我正在尝试从Android模拟器中的命令行运行它 . 哪个命令为我的HelloWorld项目运行模拟器?
我的PATH中已经有了Android工具和平台工具 .
Edit:
如何告诉模拟器从命令行运行我的HelloWorld项目?我已经用ant构建了这个项目 .
18 回答
只是要添加到此处,每当出现“错误:设备脱机”时,意味着由于模拟器启动所花费的时间而导致与仿真器和adb桥的连接中断 .
而不是在此时重新启动模拟器,尝试下面两个命令,再次停止和启动adb桥 .
运行第一个可用的模拟器:
我假设您已经构建了项目并且只需要启动它,但是您没有创建任何AVD并且必须使用命令行来执行所有操作 . 你必须做以下事情 .
为您需要的平台创建新的虚拟设备(AVD) . 如果必须使用命令行创建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 .现在您必须将应用程序安装到AVD . 通常在开发期间,您只需使用用于构建项目的相同Ant脚本,只需选择
install
target即可 . 但是,您可以使用命令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
. 正如评论者建议的那样,你也可以用.HelloWorld
替换上面一行中的org.sample.helloworld.HelloWorld
,它也会起作用 .列出所有模拟器:
运行列出的模拟器之一:
emulator
所在的位置:我认为通过终端到达它的最佳方式是:
直接运行某个AVD:
列出您的AVD使用:
Here您可以通过命令行检查执行此命令的选项:
例如,我使用它如下所示:
打开CMD
打开命令提示符
在我的例子中输入模拟器的路径
在我的情况下
如果您严格尝试从命令行运行模拟器,请在OSX中尝试此操作 .
您可以通过向.bash_profile添加别名并将其发送到后台作业来简化它 .
让Bash知道这些变化 .
打开命令提示符并转到
<android-Home>\sdk\tools>emulator -avd <AVD_NAME>
这里
"emulator"
是用于打开 Android Virtual Device 的命令 .(Linux)在终端复制并粘贴并以蓝色更改三个字段
you can view the emulators in you folder home cd /home/Youuser/.android/avd/
不推荐使用
android create avd
命令 . 现在建议使用avdmanager代替从命令行启动模拟器 .首先,创建一个新的模拟器(如果尚不存在):
这假设您已经安装了与API 26匹配的X86系统映像,并且已安装了Google API .
然后,您可以使用
emulator @MyEmulator
启动模拟器 .现在假设您已经安装了Android Studio(2.2)并且只有1个模拟器,您可以使用这个一个线程
如果您经常这样做,请更容易:
添加别名到
~.aliases
在测试之前回想一下
source ~/.profile ~/.aliases
下一次只是
$ androidup
可用的avd名称列表
在Mac(和我认为的Linux)上,在创建AVD之后,您可以创建一个别名:
alias run-android='~/Library/Android/sdk/tools/emulator -avd ${YOUR_AVD_NAME} &'
Note :别名的执行不会锁定您的终端,如果您需要,只需删除最后一个'&' .
运行
emulator
它会给你一个错误,因为他希望在你当前的位置,你有:/emulator/qemu/${YOUR_PATFORM}/qemu-system-x86_64'
来启动模拟器 .在Windows中,我使用此PowerShell脚本启动它 .
使用dns帮助从命令行启动模拟器
模拟器程序位置:/ Users / {} / Library / Android / sdk / tools
检查现有的avd: - emulator -list-avds
使用dns设置启动模拟器/ Users / {} / Library / Android / sdk / tools / emulator -avd Pixel_API_26 -dns-server 8.8.8.8
我使用Zenity编写了这个简单的shell脚本,可以让你选择你想要运行的avd . 如果您没有定义ANDROID_HOME,你可以用模拟器的完整路径替换它 . 这对于select而不是Zenity也很容易,但我选择了Zenity,因为我从xfce-application菜单运行它(虽然是.desktop文件) .
如果您有Git Bash,您可以通过双击打开模拟器,并进行一些初始设置 (tested in Windows 10 only) :
打开Git Bash .
运行
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 .
在存储 myfile.sh 的目录中打开Git Bash并运行
chmod +x myfile.sh
. 请记住放置文件名而不是 myfile .就是这样!从现在开始,每次您需要启动该模拟器时,只需找到您的 myfile.sh 并双击它并等待您的Android模拟器启动!