Android系列教程(3):Android SDK中常用命令行工具

本文为《Android/OPhone 开发完全讲义》的内容连载,如需转载,请注明作者和出处,谢谢!

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

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

源代码下载
 

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 所示的信息。

                         图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

如 果在模拟器和真机上成功安装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

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

4.  PC与模拟器或真机交换文件(adb pull和adb push)

在开发阶段或其他原因,经常需要将PC上的文件复制到模拟器或真机上,或将模 拟机和真机上的文件复制到PC上。使用adb pull和adb push命令可以很容易完成这个工作。例如,下面的命令将真机的SD卡根目录下的camera.jpg文件复制到PC的当前目录,取名为picture.jpg。又把picture.jpg文件复制到真机的SD卡根目录,取名为abc.jpg。

从真机上复制文件到PC



adb -s HT9BYL904399 pull /sdcard/camera.jpg picture.jpg

从PC复制到文件到真机



adb -s HT9BYL904399 push picture.jpg /sdcard/abc.jpg

如果读者安装了ADT,可以通过DDMS透视图的【File Explorer】视图右上方的 几个按钮方便地从模拟器或真机上导入、导出和删除文件。

5. Shell命 令

由于Android是基于Linux内核的操作系统。因此,在Android上可以执行Shell命令。虽然在手机上提供了可以输 入命令的Shell程 序,但在手机上输入程序实在是不方便。为了更方便地在模拟器或手机上执行Shell命令。可以使用如下的命令在PC上进入Shell控制台。

adb -s HT9BYL904399 shell

Shell控制台的提示符是一个井号(#)。进入Shell后,输入cd system/bin命令,再输入ls命令,可以看到当前Android系统支持的命令文件,如图4所示。读者可以根据实际情况使用相应的命令。

                                                              图4 

6、创建、删除和浏览AVD设备(android)

在这里将介绍直接使用android命令来建立和删除AVD设备。建立AVD设备的命令如下:

android create avd -n myandroid1.5 -t 2

其中myandroid1.5表示AVD设备的名称,该名称可以任意设置,但 不能和其他AVD设 备冲突。-t 2中的2指建立Android 1.5的AVD设备。1表示Android 1.1的AVD设备。以此类推。目前最新的Android 2.1应使用-t 6来建立AVD设备。在执行完上面的命令后,会输出如 下的信息来询问是否继续定制AVD设备。

Android 1.5 is a basic Android platform.

Do you wish to create a custom hardware profile [no]

如果读者不想继续定制AVD设备,直接按回车即可。如果想定制AVD设备,输入y,然后按回车。系统会按步提示该如何设 置。中括号内是默认值,如果某个设置项需要保留默认值,直接按回车即可。如果读者使用的是Windows XP,默认情况下AVD设备文件放在如下的目录。

C:/Documents and Settings/Administrator/.android/avd

如果想改变AVD设备文件的默认存储路径,可以使用-p命令行参数,命令如下:

android create avd -n myandroid1.5 -t 2 -p d:/my/avd

删除AVD设备可以使用如下的命令。

android delete avd -n myandroid1.5

通过下面的命令可以列出所有的AVD设备。

android list avds

时间: 2024-09-22 01:18:39

Android系列教程(3):Android SDK中常用命令行工具的相关文章

《Android/OPhone开发完全讲义》连载(4):Android SDK中常用命令行工具(二)

本文为原创,如需转载,请注明作者和出处,谢谢! 本文为新书<Android/OPhone 开发完全讲义>的内容连载.<Android/OPhone开发完全讲义>一书现已出版,敬请关注. 购 买:互动网(china- pub) <Android/OPhone开发完全讲义>目录 源代码下载 上一篇:Android SDK中常用命令行工具(一) 一. PC与模拟器或真机交换文件(adb pull和adb push) 在开发阶段或其他原因,经常需要将PC上的文件复制到模拟器或真

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

本文为原创,如需转载,请注明作者和出处,谢谢! 本文为新书<Android/OPhone 开发完全讲义> 的内容连载. <Android/OPhone开发完全讲义>一 书现已出版,敬请关注. 购 买:互动网 (china- pub) <Android/OPhone 开发完全讲义>目录 源代码下载 上一篇:新 书内容连载(2):Android Activity的生命周期 1.  启动和关闭 ADB服 务( adb start-server和 adb kill-server

在PHP中使用命令行工具

如果您使用过PHP,您就会发现它是创建特性丰富的Web页面的出色工具.作为一大脚本语言,PHP:容易学习. 有许多强大的框架(比如 CakePHP和CodeIgniter),让您能够像 Rails 程序员一样高效. 能够与MySQL.PostgreSQL.Microsoft SQL Server,甚至 Oracle 通信. 能够轻松地与JavaScript 框架集成,比如 script.aculo.us和jQuery. 但有时候,您想做更多的事情,或必须做更多的事情.我的意思是您必须直接与PHP

Android系列教程之七:EditText使用详解-包含很多教程上看不到的功能演示

原文:http://flysnow.iteye.com/blog/828415 一:新建HelloEditText工程   新建一个Hello world详细步骤可以参见 Android教程之三:第一个Android应用,HelloWorld 创建设置如下: Project name: HelloEditText Build Target :android 2.2 Application name:HelloEditText Package name:com.flysnow create Act

【Xamarin开发 Android 系列 6】 Android 结构基础(上)

原文:[Xamarin开发 Android 系列 6] Android 结构基础(上)     前面大家已经熟悉了什么是Android,而且在 [Xamarin开发 Android 系列 4] Android 基础知识 一文里,开篇就上图,展示了Android的架构. 大概也就4层 APP--应用程序层 Framework --公共架构层 Native Libs + Dalvik VM---系统类库+虚拟机 Linux Kernel--Linux内核   Android 是一个基于Linux开发

【Xamarin开发 Android 系列 4】 Android 基础知识

原文:[Xamarin开发 Android 系列 4] Android 基础知识 什么是Android?   Android一词的本义指"机器人",同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统.中间件.用户界面和应用软件组成,而且不存在任何以往阻碍移动产业创新的专有权障碍,号称是首个为移动终端打造的真正开放和完整的移动软件. Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设备.目前尚未有统一中文

【Xamarin开发 Android 系列 7】 Android 结构基础(下)

原文:[Xamarin开发 Android 系列 7] Android 结构基础(下) *******前期我们不打算进行太深入的东西,省的吓跑刚进门的,感觉门槛高,so,我们一开始就是跑马灯一样,向前蹿*************   前一篇 我们从大概上知道了 Android的体系,我强调,我们的重点是Application,包括以后的开发 我们也都是开发Application,没有其他. 我们队APP有了大概了了接,知道 .apk的组成. 那么真正的app 包含哪些细节的东西呢,都是概念性的东

Android测试教程(17):Monkey 命令行工具

写完应用之后,作完单元测试和功能测试,有必要对应用的抗打击能力做个测试,最好的方法是雇个"猴子"在测试,猴子 可以胡乱瞎按键,在这种情况下,你的应用是否还能正常工作呢? Android 测试包中提供了一个Monkey工具,就提供了"猴 子"功能,不过比真"猴子"还要智能一些,你还可以指挥这个猴子, 比如按键的比例,触发某个事件的频率等等. 一 个简单的用法,比如你的应用程序的包名为:com.pstreets.navigator 可以使用  adb

代码混淆-android混淆代码后崩溃日志中不显示行号的问题

问题描述 android混淆代码后崩溃日志中不显示行号的问题 android混淆代码后崩溃日志中不显示行号,找崩溃的地方很不方便,如何解决,求大神指点,谢谢! 解决方案 问题已解决.原因是在混淆代码时默认会去掉class文件中的调试信息(源码的行号.源文件信息等),需要在混淆配置文件中申明保持这些信息: -renamesourcefileattribute SourceFile -keepattributes SourceFile,LineNumberTable 解决方案二: tks, 这个问题