1. Android介绍

Android 是google公司主导的一个开放的手机操作系统,不过目前已经超过了手机的局限,而定位于移动设备的操作系统。 Android一词的本义指“机器人”,取名原因很简单。开发者叫Andy Rubin。中文官方称呼“安致”,民间称呼“安卓”。
Android由操作系统、中间件、用户界面和应用软件组成。它采用软件堆层(Software Stack,又名软件叠层)的架构,主要分为三部分:
底层以Linux内核工作为基础,由C语言开发,只提供基本功能;
中间层包括函数库Library和虚拟机Virtual Machine,由C++开发。
最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以Java作为编写程序的一部分。

Android各个版本都是以甜品名称命名的。一群吃货。

Android不存在任何以往阻碍移动产业创新的专有权障碍,号称是首个为移动终端打造的真正开放和完整的移动软件。

注意:
因为Android是开源的,所以导致很多手机厂商(比如华为、小米等)就直接把源代码拿过来进行修改,定制自己的手机操作系统,所以大家就会看到市面上有很多乱七八糟的Android系统,这也直接导致了测试Android系统比iOS系统难得多。
2017谷歌I/O大会:宣布 Kotlin 成 Android 开发一级语言。感兴趣的同学可以去学一样。
华为、小米等手机厂商主要修改的就是上图中的Application Framework层的代码。
SQLite是嵌入在手机Android系统中的一款小型的数据库,它的SQL语句与mysql相差很少。

2.Android SDK(Software Development Kit)的安装和配置

Android SDK,即Android Software Development Kit。
它提供了在Windows/Linux/Mac平台上开发Android应用的开发组件。包含了在Android平台上开发移动应用程序的各种工具集。

3.安装java环境

4.启动配置好SDK的Android版本eclipse

4.1 解压android版本 eclipse

4.2 直接启动

5.创建虚拟机进行测试

6.启动虚拟机

7.ADB

7.1 ADB介绍

ADB全称Android Debug Bridge, 是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备(如G1手机)

它的主要功能有:
* 运行设备的shell(命令行)
* 管理模拟器或设备的端口映射
* 计算机和设备之间上传/下载文件
* 将本地apk软件安装至模拟器或android设备

7.2 配置ADB环境变量

计算机→属性→高级系统设置→高级→环境变量→系统变量
新建“ADB_HOME”变量,变量值为:D:\software\adt-bundle-windows-x86_64_20140101\sdk\platform-tools(根据adb的实际安装路径填写)。
在path变量里添加变量值:;%ADB_HOME%;
配置之后在cmd窗口输入adb,显示命令用法则说明配置成功。

注意:adb 不配置环境变量也能使用,但是每次需要进入到安装目录,比较麻烦。如果你想要在任意地方都能使用的话,就需要配置环境变量。

配置adb环境变量之前:

配置adb环境变量之后:

7.3 ADB常用指令

查看设备
adb devices
这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示
注意:模拟器默认创建的第一台设备叫做emulator-5554,第二台设备叫做emulator-5556。

安装软件
adb install <apk文件路径>
这个命令将指定的apk文件安装到设备上
注意:将login.apk直接拖到命令行,命令行会直接显示其绝对路径。

卸载软件
adb uninstall <软件包名>
adb uninstall -k <软件包名>
如果加 -k 参数,为卸载软件但是保留配置和缓存文件
注意:此处的软件名并不是login。因为市面上有很多软件名相同,那么我们如何区分他们呢?在/res/AndroidMainifest.xml文件中,有一个package = "com.example.login",这才是软件名,是区分软件名的唯一标识。当然这是程序员查看的方法,我们可以使用adb shell pm list packages命令查看包名。

查看手机上应用包名 
adb shell pm list packages

登录设备shell
adb shell
adb shell <command命令>
这个命令将登录设备的shell
后面加<command命令>将是直接运行设备命令, 相当于执行远程命令

C:\Users\Administrator>adb shell
root@android:/ # ls #查看目录
ls
acct
cache
config
d
data
default.prop
dev
etc
init
init.goldfish.rc
init.rc
init.trace.rc
init.usb.rc
mnt
proc
root
sbin
sdcard
storage
sys
system
ueventd.goldfish.rc
ueventd.rc
vendor
root@android:/ # cd mnt #进入mnt目录
cd mnt
root@android:/mnt # ls #查看mnt目录
ls
asec
obb
sdcard
secure
shell
root@android:/mnt # cd sdcard #进入sdcard目录
cd sdcard
root@android:/mnt/sdcard # ls #查看sdcard目录
ls
Alarms
DCIM
Download
LOST.DIR
Movies
Music
Notifications
Pictures
Podcasts
Ringtones
root@android:/mnt/sdcard # rm -rf Music #删除Music目录
rm -rf Music
root@android:/mnt/sdcard # ls #查看Music目录是否被删除:已删除
ls
Alarms
DCIM
Download
LOST.DIR
Movies
Notifications
Pictures
Podcasts
Ringtones
root@android:/mnt/sdcard # exit #退出
exit C:\Users\Administrator>

登录手机设备后简单操作举例

查看手机内存情况
adb shell dumpsys cpuinfo

查看内存情况
adb shell getprop | findstr dalvik :本机内存的使用情况

查看应用内存使用情况
adb shell dumpsys meminfo +包名:应用的内存使用情况

查看手机日志
adb logcat
注意:此命令一回车就会动态显示log。

将手机日志输出到本地文件中
adb logcat -v time process > C:/log/aa.txt
注意:-v time process可使log打印后在每行开头显示时间。

有多台设备是adb选择设备
adb -s <设备名> logcat -v time process > E:/log/c.txt

显示所有优先级大于等于“warning”的日志
adb logcat *:W

8.adb devices找不到设备怎么办?

我的手机连接到电脑,打开USB调试模式后,命令行输入adb devices找不到设备。试了网上的很多方法(比如这里),都没有成功。后来发现是缺少驱动程序。在http://adbdriver.com/downloads/下载ADB Driver Installer后安装,重新连接即可。

adb移动端测试的更多相关文章

  1. Appium移动端测试--基础预热

    目录 Android自动化环境准备 需要安装的软件: Appium多端架构与自动化 Android自动化前提依赖: 获取App的信息: Android常用命令 adb shell 常用命令列表: An ...

  2. web端测试和移动端测试的区别小记

    转:http://qa.blog.163.com/blog/static/19014700220157128345318/ 之前一直参与web端的测试,最近一个项目加入了移动端,本人有幸参与了移动端的 ...

  3. 端到端测试工具--testcafe

    写在前面 随着业务的增加,复杂性的增加,我们更需要保证页面不能出错,之前需要每次上线之前需要每次人工测试,如果有好多改动,为保证业务不出错,需要耗费更多的时间来测试,所以我们需要写一些测试来保证业务的 ...

  4. 使用node.js &amp; live server在移动端测试网站

    1.安装node.js 下载Node.js官网 cmd下确认node已安装 node -v ※进入node环境 2.确认npm已安装(Node.js的包管理工具(package manager)) n ...

  5. 脚手架vue-cli系列五:基于Nightwatch的端到端测试环境

    不同公司和组织之间的测试效率迥异.在这个富交互和响应式处理随处可见的时代,很多组织都使用敏捷的方式来开发应用,因此测试自动化也成为软件项目的必备部分.测试自动化意味着使用软件工具来反复运行项目中的测试 ...

  6. Web端测试和移动端测试

    之前参加的项目有涉及Web端测试和移动端测试,简单的记录下他们之间的区别:   1.记录bug 在Web端可以通过系统自带的截图和QQ截图等方式来截取bug的图片,对于错误的地方可以用工具自带的标识来 ...

  7. APP端测试与web端测试的区别

    想要知道APP端测试与web端测试的区别 ,那么我们就要先来了解,web和app的区别. web项目,一般都是b/s架构,基于浏览器的,而app则是c/s的,必须要有客户端.那么在系统测试测试的时候就 ...

  8. cypress 端到端测试框架试用

    cypress 包含的特性 端到端测试 集成测试 单元测试 安装 yarn add cypress --dev 运行测试项目 初始化项目 yarn init -y 安装cypress yarn add ...

  9. 前端端对端测试:基于PhantomJS的CasperJS

    简介 Casperjs是一个基于PhantomJS和SlimerJS的前端端对端测试框架,当然你也可以使用它完成网络爬虫功能,它的特点的通过简单的脚本模拟浏览器行为, 主要有casper.tester ...

随机推荐

  1. 关于css清除浮动,解决内容溢出的问题

    以前在布局的时候总会遇到这样的问题,比如我想让整体的内容居中,所以会这样写, .main-content{ width:960px:height:300px;margin:0px auto; } 然后 ...

  2. [转]C#反射,根据反射将数据库查询数据和实体类绑定,并未实体类赋值

    本文来自:http://www.cnblogs.com/mrchenzh/archive/2010/05/31/1747937.html /****************************** ...

  3. [Project Name] was compiled with optimization - stepping may behave oddly; variables may not be available.

    控制台输出的时候显示一串这样的信息:[Project Name] was compiled with optimization - stepping may behave oddly; variabl ...

  4. 把Git Repository建到U盘上去(转)

    把Git Repository建到U盘上去 转 把Git Repository建到U盘上去 Git很火.原因有三: 它是大神Linus Torvalds的作品,天然地具备神二代的气质和品质: 促进了生 ...

  5. Unity Shader——Writing Surface Shaders(1)——Surface Shader Examples

    这里有Surface Shader的一些例子.下面的这些例子关注使用内建的光照模型:关于如何使用自定义光照模型的例子参见Surface Shader Lighting Examples. 简单 我们将 ...

  6. 转:Web前端,高性能优化

    高性能HTML 一.避免使用iframe iframe也叫内联frame,可将一个HTML文档嵌入另一个HTML文档中. iframe的好处是,嵌入的文档独立于父文档,通常也借此使浏览器模拟多线程.缺 ...

  7. 微软的操作系统中让 32 位支持大于 4GB 的内存。

    先给一个参考文献:The RAM reported by the System Properties dialog box and the System Information tool is les ...

  8. 关于三星手机照相机调用适配问题Android

    因为三星手机在照相的时候,会自动将自动转化为为横屏. 这里的话 就不讲具体怎么实现的,因为在网络上是有相关的代码. 主要的是在你拍完照返回的时候,先前的界面可能会重绘,所以会导致一些问题. 我暂时的办 ...

  9. 图解Raft之日志复制

    日志复制可以说是Raft集群的核心之一,保证了Raft数据的一致性,下面通过几张图片介绍Raft集群中日志复制的逻辑与流程: 在一个Raft集群中只有Leader节点能够接受客户端的请求,由Leade ...

  10. kubernetes的安装方法

    背景 自己学习k8s集群,无奈屌丝一枚,没钱配置vpn服务,安装k8s花费的时间太久了.为了小伙伴们可以快速安装k8s,我花了点时间整理了这篇博客,提供一个不用FQ就可以愉快安装k8s集群的方法. 主 ...