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

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

从真机上复制文件到PC:

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

从PC复制文件到真机:

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

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

二、 Shell命令

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

adb -s HT9BYL904399 shell 

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

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

在1.2.4节介绍了如何在Eclipse中建立一个AVD设备。本节将介绍直接使用android命令建立和删除AVD设备。建立AVD设备的命令如下:

  1. 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设备:

  1. Android 1.5 is a basic Android platform.
  2. Do you wish to create a custom hardware profile [no]

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

  1. C:\Documents and Settings\Administrator\.android\avd

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

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

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

  1. android delete avd -n myandroid1.5

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

  1. android list avds

四、创建SD卡

在模拟器上测试程序经常需要使用SD卡。在PC上需要使用mksdcard命令创建一个虚拟的SD卡文件,创建一个10MB大小的SD卡文件的命令如下:

  1. mksdcard -l sdcard 10MB sd.img

其中sdcard表示SD卡的卷标,10M表示SD卡的大小,单位还可以是KB。但要注意,SD卡的大小不能小于8MB,否则无法创建SD卡文件。sd.img是SD卡的文件名。如果要在Eclipse中启动模拟器,或直接启动模拟器(使用emulator命令),需要使用-sdcard命令行参数指定SD卡文件的绝对路径。

1.4  PC上的Android

在程序发布之前,最好在真机上测试一下,毕竟模拟器无法100%地模拟真机的环境。如果没有真机该怎么办呢?模拟器虽然可以正常运行大多数Android程序,但模拟器的环境毕竟是模拟出来的,并不是真正的Android操作系统。当然,还可以想其他的办法。Android从理论上也可以运行在PC上。因此,可以采用像Android LiveCD一样的PC版Android操作系统来测试程序。这可是真正的Android操作系统,只是运行在PC上,而不是手机上。下面来感受一下PC上的Android。

1.4.1  Android LiveCD

Android LiveCD是code.google.com上的一个开源项目,以ISO形式发布,可直接从光盘启动。在作者写作本书时,Android LiveCD的最新版是0.3。读者可以从下面的地址下载Android LiveCD的最新版:

  1. http://code.google.com/p/live-android/downloads/list

下载后,使用VMWare或其他的虚拟机软件装载ISO文件,然后从光盘(ISO文件)启动即可。启动后的界面如图1.18所示。运行程序后的效果如图1.19所示。

 
(点击查看大图)图1.18  Android LiveCD的运行界面
 
图1.19  在Android LiveCD中运行程序的效果

向Android LiveCD上传apk程序可以采用多种方法。如果PC可以上网,可以采用wget命令从Internet下载apk程序。

wget http://ip地址/blogger.apk 

更多:

Adb工具常用操作(一)

AndroidSdk下载地址和环境变量配置
Android的ADB工具使用

Android adb不是内部或外部命令 (转)

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

  1. Adb工具常用操作(一)

    一.启动或关闭server 1.3  Android SDK中的常用命令行工具 在<Android SDK安装目录>\tools目录中带了很多命令行工具.虽然一般的开发人员并不需要完全掌握 ...

  2. Git常用操作(二)

    仓库拉取 git clone XXX 修改仓库链接 $ git config -l # 显示coding列表 $ git config --get remote.origin.url # 返回orig ...

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

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

  4. Oracle常用操作-----(二)

    Oracle主要类型函数: 单行函数:只能输入一行结果,返回一个结果.常见的单行函数有: 字符函数 数字函数 转换函数 日期函数 2.聚合函数:同时可以对多行数据进行操作,并返回一个结果.(AVG.S ...

  5. Python脚本控制的WebDriver 常用操作 <十二> send_keys模拟按键输入

    下面将使用WebDriver中的send_keys来模拟键盘按键输入 测试用例场景 send_keys方法可以模拟一些组合键操作: ctrl+a ctrl+c ctrl+v 等. 另外有时候我们需要在 ...

  6. Selenium常用操作汇总二——如何操作select下拉框

    下面我们来看一下selenium webdriver是如何来处理select下拉框的,以http://passport.51.com/reg2.5p这个页面为例.这个页面中有4个下拉框,下面演示4种选 ...

  7. Selenium常用操作汇总二——如何操作cookies(转)

    Web 测试中我们经常会接触到Cookies,一个Cookies主要属性有”所在域.name.value.有效日期和路径",下面来讲一下怎么操作Cookies. import java.ut ...

  8. Selenium常用操作汇总二——如何处理alert、confirm、prompt对话框

    alert.confirm.prompt这样的js对话框在selenium1.X时代也是难啃的骨头,常常要用autoit来帮助处理. 试用了一下selenium webdriver中处理这些对话框十分 ...

  9. Git 常用操作(二)

    第一次传数据:echo "# miya" >> README.mdgit initgit add README.mdgit commit -m "first ...

随机推荐

  1. In machine learning, is more data always better than better algorithms?

    In machine learning, is more data always better than better algorithms? No. There are times when mor ...

  2. 在线CSS圆角生成器

    http://www.paibaidu.com/demo/CSSBorder/CSSBorder.html

  3. MFC应用程序创建窗口的过程 good

    MFC应用程序中处理消息的顺序 1.AfxWndProc()      该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc 2.AfxCallWndProc()  该 ...

  4. Quartz 有状态的JobDataMap

    Quartz,每次执行job,job永远是全新的对象,但是,如果job实现org.quartz.StatefulJob接口,而不是job接口. 此时JobDetail的JobDataMap将会共享一个 ...

  5. mysql grant 示例

    ' with grant option; FLUSH PRIVILEGES;

  6. WITH AS and materialize hints

    WITH AS: 就是将一个子查询部分独立出来,有时候是为了提高SQL语句的可读性,有时候是为了提高SQL语句性能. 如果一个SQL语句中,某个表会被访问多次,而且每次访问的限制条件一样的话,就可以使 ...

  7. CnPack for delphi xe5

    CnPack Team is made up of Chinese Programmers and Delphi / C++ Builder fans across the Internet. Our ...

  8. poj3071 Football

    学习位运算在比赛的技巧 http://poj.org/problem?id=3071 Football Time Limit: 1000MS   Memory Limit: 65536K Total ...

  9. Unity Diffuse Metal Shader Mod

    Shader "MetalShader" { Properties { _MainTex ("Base (RGB) RefStrGloss (A)", 2D) ...

  10. OpenStack G版以后的Availability Zone与Aggregate Hosts

    关于Availability Zone与Aggregate Hosts的概念解析,可以参考这篇文章:http://blog.chinaunix.net/uid-20940095-id-3875022. ...