文章目录
- 前言
- 一、Java环境搭建
- 二、AndroidSDK环境搭建
- 三、Android模拟器安装
- 四、adb调试工具基本介绍
- 4.1 adb构成和基本原理
- 4.2 adb获取包名,界面名
- 4.3 adb文件传输
- 4.4 adb获取app启动时间
- 4.5 adb获取手机日志
- 4.6 adb其他有关命令
- 总结
前言
一、Java环境搭建
之前文章已经介绍过,此处就不赘述了。
二、AndroidSDK环境搭建
Android sdk提供Android API库和开发工具构建,测试和调试应用程序使用
下载android sdk
https://dl.google.com/android/android-sdk_r24.4.1-windows.zip;
(也可以直接安装 android studio 开发工具,内部集成了android-sdk)
解压后运行文件夹中 SDK Manager.exe 安装sdk tools、sdk plaform-tools、sdk build-tools
配置环境变量
新建ANDROID_HOME,值为sdk的目录。
把下面三个路径,加入path
加入path,确定,关闭环境变量设置。
验证,命令行输入adb,只要看到版本号即可。
三、Android模拟器安装
首先需要让系统找到模拟器上手机设备。如何让系统找到模拟器?
运行adb devices可以看到此时没有设备。
把android sdk文件夹下platform tools下的adb.exe复制到夜神的bin文件夹下,并改名为nox_adb.exe,然后重启夜神。
再用adb devices 检测到的就是夜神模拟器的设备
四、adb调试工具基本介绍
4.1 adb构成和基本原理
(1)简介:
ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。安卓调试桥 (Android Debug Bridge, adb),是一种可以用来操作手机设备或模拟器的命令行工具。
(2)abd构成:
- client端,在电脑上,负责发送adb命令
- daemon守护进程,在手机上,负责接收和执行adb命令
- server端,在电脑上,负责管理client和daemon之间的通信adb工作原理
(3)adb工作原理:
1. client端将命令发送给server端
2. server端会将命令发送给daemon端
3. daemon端进行执行
4.将执行结果,返回给server端
5. server端将结果再返回给client端
4.2 adb获取包名,界面名
(1)包名和界面名的概念
- 包名,对应着应用程序
- 界面名,对应着应用程序的某个界面,也叫做启动名
(2)如何获取包名和界面名
mac adb she17 dumpsys window windows / grep mFocusedApp windows adb she11 dumpsys window windows / findstr mFocusedApp
(3)应用场景
后期,我们告诉计算机到底打开哪一个应用和哪一个界面,必须使用的一个写代码的参数
示例
作用:获取设置程序的包名和界面名
1.先在模拟器或手机中打开《设置》应用程序
2.输入对应平台的命令
图示说明:
结果如下:
mFocusedApp=AppwindowToken{53309da token=Token{2e2fa785ActivityRecord{2928d4fc u0 com.android.settings /.settings t1127}33
其中:
- 包名为:com.android.settings
- 界面名为:.settings
4.3 adb文件传输
两种情况:
1.发送文件到手机
2.从手机中拉取文件
(1)发送文件到手机
1.应用场景
将手机需要的数据(数据库文件)在电脑上调整好,直接发送给手机
2.命令格式
adb push电脑的文件路径手机的文件夹路径
3.示例
作用:
将桌面的a.txt 发送到手机的sd 卡
代码实现:
adb push C: \users\hm\Desktop\a.txt/sdcard
(1)从手机拉取文件
1.应用场景
将手机产生的文件(数据库文件,日志文件)拉取到电脑中
2.命令格式
adb pu11 手机的文件路径 电脑的文件夹路径
3.示例
作用:
将手机的sd卡的a.txt拉取到桌面
代码实现:
adb pull /sdcard/a.txt c: \users \hm\Desktop
图示实现:
4.4 adb获取app启动时间
(1).应用场景
1.如果企业对应用程序的启动速度有要求,则需要使用这个命令进行测试
2.测试标准:参照同类软件,启动时间不能超出一倍即可
(2).命令格式
adb she11 am start -w 包名/启动名
3.示例
作用:
启动com.android.settings程序并且进入主界面( .settings )
代码实现:
adb she1l am start -w com.android.settings / .settings
图示说明:
解释:
1. ThisTime:该界面( activity)启动耗时(毫秒)2.TotalTime:应用自身启动耗时= ThisTime+应用application等资源启动时间
3. waitTime:系统启动应用耗时=TotalTime+系统资源启动时间(毫秒)
图示解析:
4.5 adb获取手机日志
(1)应用场景:
将bug的日志信息发送给开发人员,便于开发人员定位bug使用步骤。
当成发生崩溃的时候,可以将日志信息发送给开发人员,便于其快速的定位bug。
关于崩溃的处理,需要找日志中的"at"前面,的第一个字符是E的就是错误信息。
(2)使用步骤:
1.打开需要测试的应用程序
2.找到触发bug的位置
3.使用查看日志命令
4.触发bug
5.获取日志信息命令格式
(3)命令格式:
adb logcat
(4)示例:
1.安装bug.apk
2.打开《有bug的程序》应用程序
3.命令行中输入adb logcat命令
4.点击登录按钮
5.获取日志信息
4.6 adb其他有关命令
命令1:安装app到手机
代码:adb install 路径/xx. apk
命令2:卸载手机上的app,需要指定包名
代码:adb install 路径/xx. apk
命令3:获取当前电脑已经连接设备和对应的设备号
代码:adb devices
命令4:进入到安卓手机内部的linux系统命令行中
代码:adb she11
命令5:启动adb 服务端,出bug时使用可以重启服务器,先关闭再启动
代码:adb start-server
命令6:停止adb服务端,出bug时使用可以重启服务器,先关闭再启动
代码:adb kill-server
命令7:查看adb帮助,命令记不清楚时有用
代码:adb --help