首页 文章

如何从命令行启动Android模拟器?

提问于
浏览
303

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

我的PATH中已经有了Android工具和平台工具 .

Edit:

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

18 回答

  • 3

    只是要添加到此处,每当出现“错误:设备脱机”时,意味着由于模拟器启动所花费的时间而导致与仿真器和adb桥的连接中断 .

    而不是在此时重新启动模拟器,尝试下面两个命令,再次停止和启动adb桥 .

    adb kill-server adb start-server

  • 194

    运行第一个可用的模拟器:

    ~/Library/Android/sdk/tools/emulator -avd `~/Library/Android/sdk/tools/emulator -list-avds | awk '{print $1}'`
    
  • 2

    我假设您已经构建了项目并且只需要启动它,但是您没有创建任何AVD并且必须使用命令行来执行所有操作 . 你必须做以下事情 .

    • 为您需要的平台创建新的虚拟设备(AVD) . 如果必须使用命令行创建AVD,则可以调用 android create avd -n <name> -t <targetID> ,其中targetID是您需要的API级别 . 如果您可以使用GUI,只需输入 android avd ,它就会启动管理器,您可以在其中执行相同操作 . 您可以阅读有关AVD management through GUIthrough 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 ,它也会起作用 .

  • 0

    列出所有模拟器:

    emulator -list-avds
    

    运行列出的模拟器之一:

    emulator @name-of-your-emulator
    

    emulator 所在的位置:

    ${ANDROID_SDK}/tools/emulator
    
  • 9

    我认为通过终端到达它的最佳方式是:

    cd ~/Library/Android/sdk/tools
    

    直接运行某个AVD:

    ./emulator -avd {AVD_NAME}
    

    列出您的AVD使用:

    ./emulator -list-avds
    
  • 12

    Here您可以通过命令行检查执行此命令的选项:

    emulator -avd avd_name [-option [value]] ... [-qemu args]
    

    例如,我使用它如下所示:

    emulator -avd ICS_ARM -wipe-data -no-boot-anim -cpu-delay 0
    
  • 4

    打开CMD

    • 打开命令提示符

    • 在我的例子中输入模拟器的路径

    C:\ adt-bundle-windows-x86_64-20140702 \ sdk \ tools

    在我的情况下

    • 写"emulator -avd emulatorname"

    模拟器-avd AdilVD

    enter image description here

  • 25

    如果您严格尝试从命令行运行模拟器,请在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
    
  • 1

    打开命令提示符并转到 <android-Home>\sdk\tools>emulator -avd <AVD_NAME>

    这里 "emulator" 是用于打开 Android Virtual Device 的命令 .

  • 21

    (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)
    

    you can view the emulators in you folder home cd /home/Youuser/.android/avd/

  • 6

    不推荐使用 android create avd 命令 . 现在建议使用avdmanager代替从命令行启动模拟器 .

    首先,创建一个新的模拟器(如果尚不存在):

    avdmanager create avd --name "MyEmulator" -k "system-images;android-
    26;google_apis;x86"
    

    这假设您已经安装了与API 26匹配的X86系统映像,并且已安装了Google API .

    然后,您可以使用 emulator @MyEmulator 启动模拟器 .

  • 4

    现在假设您已经安装了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

  • 330

    可用的avd名称列表

    .android / avd / SDK_PATH / tools / emulator -netdelay none -netspeed full -avd“AVD_NAME”

  • 0

    在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' 来启动模拟器 .

  • 0

    在Windows中,我使用此PowerShell脚本启动它 .

    $em = $env:USERPROFILE+"\AppData\Local\Android\sdk\tools\emulator.exe"; 
    Start-Process $em " -avd Nexus_5X_API_24" -WindowStyle Hidden;
    
  • 0

    使用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

  • 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
    
  • 62

    如果您有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模拟器启动!

相关问题