从命令行在Android模拟器上安装并运行.apk

时间:2014-04-16 06:14:52

标签: android command-line android-emulator

我必须在android模拟器上从命令行安装并运行一个应用程序。我已经阅读了相同的android开发者文档,并实现如下。

在模拟器上安装apk:adb -d emulator-5554 install path/to/my/app.apk

这已成功在正在运行的虚拟机上安装了apk。我无法打开已安装的应用程序,因为我已尝试安装并通过命令一起运行

adb -d install path/to/your/app.apk

但是此命令显示错误“

  

错误:找不到设备

     

- 等待设备 -

我在启动模拟器后尝试了这个命令,但它仍然显示了正确的错误

4 个答案:

答案 0 :(得分:2)

设备

-d

你需要使用

-e for emulator

将apk安装到您需要使用的模拟器中

adb -e install c:\myapk.apk

adb选项

 -a                            - directs adb to listen on all interfaces for a connection
 -d                            - directs command to the only connected USB device
                                 returns an error if more than one USB device is present.
 -e                            - directs command to the only running emulator.                                 returns an error if more than one emulator is running.
 -s <specific device>          - directs command to the device or emulator withthe given

答案 1 :(得分:2)

安装应用程序后,您可以开始使用命令--- adb shell am start -a android.intent.action.MAIN -n package_name / .main_activity_name

例如: adb shell am start -a android.intent.action.MAIN -n com.example.flash / .MainActivity

答案 2 :(得分:0)

  1. 首先检查系统连接的设备数量。那可以是模拟器(虚拟设备)。或者它可以是物理设备`即外部连接的移动设备。 要从命令行了解设备列表运行命令。 找到您的Adt-bundle - &gt; sdk-&gt;平台工具 - &gt; adb 我有adb at this path ==&gt; d:\ ADT-束 - 窗口x86_64-20131030 \ ADT-束 - 窗口x86_64-20131030 \ SDK \平台的工具
  2. 要遵循的命令:

    adb devices  // It will list devices with their Unique id
    adb -s "DeviceIdFromListOfDevices" install path+apkName
    

    您已完成安装。

答案 3 :(得分:0)

安装并运行:

%ANDROID_HOME%\platform-tools\adb install -r path/to/my/app.apk
%ANDROID_HOME%\platform-tools\adb shell am start -a android.intent.action.MAIN -n com.mypack.name/.MainActivity

第一个命令行将安装您的应用程序。参数-r删除预装版本。 path/to/my/app.apk将替换为您的真实路径和apk名称。第二个命令启动您的应用程序。 com.mypack.name/.MainActivity将替换为您的软件包名称。

如果要将仿真器置于所有窗口的前面,则可以附加以下几行。将创建一个Windows脚本文件。该脚本将被执行,然后文件将被删除。

echo new ActiveXObject("WScript.Shell").AppActivate("emulator"); > tmp.js
cscript //nologo tmp.js & del tmp.js