1.   启动和关闭 ADB 服务( adb start-server adb kill-server


    经作者测试,模拟器在运行一段时间后, adb服务有可能(在 Windows进程中可找到这个服务,该服务用来为模拟器或通过 USB数据线连接的真机服务)会出现异常。这时需要重新对 adb服务关闭和重启。当然,重启 Eclipse可能会解决问题。但那比较麻烦。如果想手工关闭 adb服务,可以使用下面的命令。

  adb kill-server

  在关闭 adb服务后,要使用如下的命令启动 adb服务。

  adb start-server

  2 查询当前模拟器 / 设备的实例( adb devices


    有时需要启动多个模拟器实例,或启动模拟器的同时通过 USB数据线连接了真机。在这种情况下就需要使用如下的命令查询当前有多少模拟器或真机在线。

  adb devices

  执行上面的命令后,会输出如图 1所示的信息。

adb关闭 android 安卓关闭adb_windows


                         图1


        其中第 1列的信息( emulator-5554、 HT9BYL904399)表示模拟器或真机的标识。 emulator-5554表示模拟器,其中 5554表示 adb服务为该模拟器实例服务的端口号。每启动一个新的模拟器实例,该端口号都不同。 HT9BYL904399表示通过 USB数据线连接的真机。如果在运行 Android程序时有多个模拟器或真机在线,那么会出现一个选择对话框。如果选择在真机运行, ADT会直接将程序安装在手机上。

输出信息的第 2列都是 device,表示当前设备都在线。如果该列的值是 offline,表示该实例没有被连接到 adb上,或实例没有响应。


3.  安装、卸载和运行程序( adb install 、 adb uninstall 和 am


       在 Eclipse中运行 Android程序必须得有 Android源码工程。那如果只有 apk文件( Android应用程序的发行包,相当于 Windows中的 exe文件)该如何安装和运行呢?答案就是 adb命令。假设我们要安装一个 ebook.apk文件,可以使用如下的命令。

  adb install ebook.apk

      假设 ebook.apk中的 package是 net.blogjava.mobile.ebook,可以使用如下的命令卸载这个应用程序。

  adb uninstall net.blogjava.mobile.ebook

      关于 package的概念在以后的学习中会逐渐体会到。现在只要知道 package是 Android应用程序的唯一标识即可。如果在安装程序之前,该程序已经在模拟器或真机上存在了,需要先使用上面的命令卸载这个应用程序,然后再安装。或使用下面的命令重新安装。

  adb install -r ebook.apk

      在卸载应用程序时可以加上 -k命令行参数保留数据和缓冲目录,只卸载应用程序。命令如下所示。

adb uninstall -k net.blogjava.mobile.ebook

      如果机器上有多个模拟器或真机实例,需要使用 -s命令行参数指定具体的模拟器或真机。例如,下面的命令分别在模拟器和真机上安装、重新安装和卸载应用程序。

在 emulator-5554 模拟器上安装 ebook.apk 
   adb -s emulator-5554 install ebook.apk
   在真机上安装 ebook.apk 
   adb -s HT9BYL904399 install ebook.apk
   在 emulator-5554 模拟器上重新安装 ebook.apk 
   adb -s emulator-5554 install -r ebook.apk
   在真机上重新安装 ebook.apk 
   adb -s HT9BYL904399 install -r ebook.apk
   在 emulator-5554 模拟器上卸载 ebook.apk (不保留数据和缓冲目录)  
   adb -s emulator-5554 uninstall net.blogjava.mobile.ebook 
   在真机上卸载 ebook.apk (保留数据和缓冲目录)  
   adb -s HT9BYL904399 uninstall -k net.blogjava.mobile.ebook


 注:此处测试时shell报错。需要使用指令:

 

adb pm shell uninstall net.blogjava.mobile.ebook


  如果在模拟器和真机上成功安装 ebook.apk,将会分别输出如图2 和图 3所示的信息。


adb关闭 android 安卓关闭adb_shell_02



                              图2


adb关闭 android 安卓关闭adb_eclipse_03


                                  图 3

  

    如果想在模拟器或真机上运行已安装的应用程序,除了直接在模拟器或真机上操作外,还可以使用如下的命令直接运行程序。

  在 emulator-5554 模拟器上运行 ebook.apk

adb -s emulator-5554 shell am start -n net.blogjava.mobile.ebook/net.blogjava.mobile.ebook.Main

  在真机上运行 ebook.apk

adb -s HT9BYL904399 shell am start -n net.blogjava.mobile.ebook/net.blogjava.mobile.ebook.Main

  其中 Main是 ebook.apk的主 Activity。相当于 Windows应用程序的主窗体或 Web应用程序的主页面。 am是 shell命令。关于 shell命令将在后成的部分

详细介绍。