新书内容连载(3):Android SDK中常用命令行工具(一)

简介:

本文为原创,如需转载,请注明作者和出处,谢谢!

本文为新书《Android/OPhone 开发完全讲义》的内容连载。《Android/OPhone开发完全讲义》一书现已出版,敬请关注。

购买: 互动网 (china-pub)

《Android/OPhone 开发完全讲义》目录


源代码下载




上一篇: 新书内容连载(2):Android Activity的生命周期

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

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

adb kill-server

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

adb start-server

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

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

adb devices

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

                         图1

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

3.  安装、卸载和运行程序(adb installadb uninstallam

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

adb install ebook.apk

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

adb uninstall net.blogjava.mobile.ebook

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

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

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


                             图2


                                  图 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

其中Mainebook.apk的主Activity。相当于Windows应用程序的主窗体或Web应用程序的主页面。amshell命令。关于shell命令将在后成的部分详细介绍。

本文转自银河使者博客园博客,原文链接http://www.cnblogs.com/nokiaguy/archive/2010/07/05/1771125.html如需转载请自行联系原作者


银河使者

相关实践学习
使用CLup和iSCSI共享盘快速体验PolarDB for PostgtreSQL
在Clup云管控平台中快速体验创建与管理在iSCSI共享盘上的PolarDB for PostgtreSQL。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
3天前
|
JavaScript Java Maven
云效产品使用常见问题之android sdk 构建出aar后,上传到私有maven仓库失败如何解决
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
3月前
|
安全 开发工具 Android开发
几个Flutter常见诊断错误与解决Android toolchain - develop for Android devices X Unable to locate Android SDK
几个Flutter常见诊断错误与解决Android toolchain - develop for Android devices X Unable to locate Android SDK
267 0
|
6月前
|
API 开发工具 Android开发
解决 Android App 上架 Google play后 ,签名变更,第三方sdk无法登录
解决 Android App 上架 Google play后 ,签名变更,第三方sdk无法登录
147 0
|
6月前
|
SQL 人工智能 移动开发
Android Logcat 命令行工具
Logcat 是一个命令行工具,用于转储系统消息日志,包括从您的应用使用 Log 类写入的消息。 logcat还是比较简单的,我们在此只记录一下我们日常工作可能会用的比较多的一些用法。
Android Logcat 命令行工具
|
6月前
|
SQL 人工智能 Java
Android 命令行工具简介
Android SDK 中包含了开发应用所需的多个软件包。本页列出了可供使用的最重要的命令行工具(按提供这些工具的软件包整理)。
|
3月前
|
开发工具 Android开发
Android获取SDK的版本信息
Android获取SDK的版本信息
39 0
|
4月前
|
编解码 Java 开发工具
Android端接入视频生产 Java SDK
Android端接入视频生产 Java SDK
40 1
|
4月前
|
监控 Java 开发工具
基于Eclipse+SDK+ADT+DDMS的安卓开发环境完整搭建过程
基于Eclipse+SDK+ADT+DDMS的安卓开发环境完整搭建过程
45 0
基于Eclipse+SDK+ADT+DDMS的安卓开发环境完整搭建过程
|
8月前
|
API 数据库 Android开发
Android ContentProvider内容提供者详解
Android ContentProvider内容提供者详解
37 2
|
Web App开发 数据库 Android开发