一、启动或关闭server

1.3  Android SDK中的常用命令行工具

在<Android SDK安装目录>\tools目录中带了很多命令行工具。虽然一般的开发人员并不需要完全掌握这些工具的使用方法,但了解这些工具的一些基本使用方法还是会对以后的开发工作起到一定的辅助作用。本节将介绍几种常用的命令行工具的使用方法,这些工具主要包括adb、android和mksdcard。在使用这些命令行工具之前,建议读者将<Android SDK安装目录>\tools目录加到PATH环境变量中,这样在任何目录中都可以使用这些工具了。

1.3.1  启动和关闭ADB服务(adb start-server和adb kill-server)

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

  1. adb kill-server

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

  1. adb start-server

二、查询当前模拟器/设备的示例(adb devices)

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

  1. adb devices

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

 
图1.14  查询模拟器/设备的实例

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

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

三、安装、卸载和运行程序

1.3.3  安装、卸载和运行程序(adb install、adb uninstall和am)

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

  1. adb install ebook.apk

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

  1. adb uninstall net.blogjava.mobile.ebook

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

  1. adb install -r ebook.apk

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

  1. adb uninstall -k net.blogjava.mobile.ebook

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

在emulator-5554模拟器上安装ebook.apk:

  1. adb -s emulator-5554 install ebook.apk

在真机上安装ebook.apk:

  1. adb -s HT9BYL904399 install ebook.apk

在emulator-5554模拟器上重新安装ebook.apk:

  1. adb -s emulator-5554 install -r ebook.apk

在真机上重新安装ebook.apk:

  1. adb -s HT9BYL904399 install -r ebook.apk

在emulator-5554模拟器上卸载ebook.apk(不保留数据和缓冲目录):

  1. adb -s emulator-5554 uninstall net.blogjava.mobile.ebook

在真机上卸载ebook.apk(保留数据和缓冲目录):

  1. adb -s HT9BYL904399 uninstall -k net.blogjava.mobile.ebook

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

 
图1.15  在模拟器上成功安装ebook.apk
 
图1.16  在真机上成功安装ebook.apk

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

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

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

在真机上运行ebook.apk:

  1. 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命令将在1.3.5节详细介绍。

更多:

Adb工具常用操作(一)

AndroidSdk下载地址和环境变量配置

Android的ADB工具使用

Adb工具常用操作(一)的更多相关文章

  1. Adb工具常用操作-转(二)

    一. PC与模拟器或真机交换文件(adb pull和adb push) 在开发阶段或其他原因,经常需要将PC上的文件复制到模拟器或真机上,或将模拟机和真机上的文件复制到PC上.使用adb pull和a ...

  2. ADB工具常用指令和使用情形分析

    一.ADB常用命令:(不需要进到设备,也就是:不需要执行adb shell) adb devices 列出所有的已连接的设备 adb kill-server 关闭adb adb start-serve ...

  3. Linux记录-lsof打开文件工具常用操作

    lsof `which httpd` //那个进程在使用apache的可执行文件 lsof /etc/passwd //那个进程在占用/etc/passwd lsof /dev/hda6 //那个进程 ...

  4. 版本控制工具——Git常用操作(上)

    本文由云+社区发表 作者:工程师小熊 摘要:用了很久的Git和svn,由于总是眼高手低,没能静下心来写这些程序员日常开发最常用的知识点.现在准备开一个专题,专门来总结一下版本控制工具,让我们从git开 ...

  5. python借助ADB工具实现自动化操作手机

    核心工具——ADB工具 adb工具用于连接Android手机和PC端,我们借助adb工具,就可以通过命令行对手机进行相应的操作 注意:若要通过adb操作手机,需打开手机的开发者模式,并打开USB调试功 ...

  6. Android ADB工具-操作手机和获取手设备信息(四)

    Android ADB工具-操作手机和获取手设备信息(四) 标签(空格分隔): Android ADB 6. 其它命令 命令 功能 adb shell input text <content&g ...

  7. Redis可视化工具安装及常用操作操作

    可视化操作工具:RedisDesktopManager 下载地址:http://www.pc6.com/mac/486661.html 直接安装(傻瓜式安装,直接下一步就可以了)(有Mac和windo ...

  8. 2.SDK目录结构和adb工具及命令介绍

    安卓开发学习笔记 1.安卓开发之环境搭建 2.SDK目录结构和adb工具及命令介绍 1.SDK目录介绍: ******************************** add-ons:Androi ...

  9. Android配置----adb工具的使用

    Adb(android debug bridge):android 调试桥,用于将本地的文件 push 到环境中,或者从手机环境中 pull 文件到本地. 一.ADB的主要功能: · 运行设备的she ...

随机推荐

  1. PHP 7 探针的安装与测试

    首先,这是一篇软文,没错!就是一篇软文.因为我知道「PHP 是世界上最好的语言」,所以我相信很多人愿意读这篇用户帮忙写的软文,因为这篇软文应该能帮助 PHP 开发的同学一点小忙.我们是一家成立了7年的 ...

  2. mongodb 查看数据库和表大小

    1.查看数据库 > db.stats(); { "db" : "test", //当前数据库 "collections" : 3, / ...

  3. 又拍云——图像处理师(GraphicsMagick、ImageMagick、FFmpeg)

    云处理平台开发工程师 工作地:杭州 岗位职责:负责云处理平台研发工作: 岗位要求: 扎实的 C 语言编程基础及算法优化能力: 至少能够熟练使用一门脚本语言(Python.Ruby.Lua 等)进行日常 ...

  4. BlockingQueue队列学习

    今天看了下BlockingQueue的几种实现,记录下以便以后复习. 首先来看一下BlockingQueue的家族成员: BlockingQueue除了先进先出外,还有两个操作:在队列为空时,获取元素 ...

  5. Java中如何创建进程(转)

    在Java中,可以通过两种方式来创建进程,总共涉及到5个主要的类. 第一种方式是通过Runtime.exec()方法来创建一个进程,第二种方法是通过ProcessBuilder的start方法来创建进 ...

  6. buffer busy waits

    Buffer busy waits 当会话想要访问缓冲区中的数据块,而该数据块正在被其他会话使用时将产生Buffer busy waits事件. 其他会话可能正从数据文件向缓冲器读取同样的数据块,或正 ...

  7. SQL*Net message from client

    SQL*Net message from client The server process (foreground process) waits for a message from the cli ...

  8. bzoj1212

    trie树最基本的应用了不难得到f[i]=f[j] if (s[j+1~i]∈dictionary);可以用trie树匹配 ..] of boolean; son:..,..] of longint; ...

  9. 《University Calculus》-chape3-微分法-基本概念、定理

    所谓微分法其实就是我们所熟悉的导数,它是一种无限分割的方法,同积分法一样,它们是处理曲线和曲面的有利工具,也是一门很伟大的自然语言.微分方程就是一种名副其实的描述自然的语言. 同样这里如果取单侧导数, ...

  10. Java编程-基本语句

    一个基本的输出语句: package Hello; import java.util.Scanner; public class Hello { public static void main(Str ...