一共须要三步便可。android
1. step1 Enable 开发者模式 2. step2 Enable USB Debug模式 3. step3 使用数据线链接手机和PC
- adb devices (查询链接到当前PC的Android设备) - adb install xxx.apk(进入安装包的目录,安装软件) - adb uninstall $package_name(进入安装包的目录,卸载软件) - install和uninstall还有其余参数。 - adb install -r xxx.apk - adb uninstall -k $package_name 在安装时,加上【-r】,若是已经安装了该软件,那么系统就会先卸载,在安装这个软件 在卸载时,加上【-k】,表示卸载时保留数据和缓冲区目录,只卸载应用程序 安装pos机的例子: 一、adb devices -查看链接状态 二、adb connect xx.xx.xx.xx:5555 三、adb install /Users/fengyanhua/Downloads/app-debug.apk 四、adb disconnect xx.xx.xx.xx:5555 -断开链接 查询POS机的日志: 五、adb -s xx.xx.xx.xx logcat
1. - step1 打开软件置于顶层 2. - step1 点击UIAutomatorviewer的Device Screenshot按钮 3. - step1 查看右下方的package值
adb pull remote_files local_dir 把手机上的文件拷贝到本地 adb push local_dir remote_files 把PC上的文件,发送到已经链接的Android手机上 参数含义: remote_files: 手机端的目录或者文件路径 local_dir:本地文件的路径 e.g: adb pull /sdcard/DICM/camera ~/Desktop/ 把手机上的某个目录所有都拷贝到PC本地上 adb push ~/Desktop/test.txt /data/local/tmp/ 把PC本地的文件传输到手机的/data/local/tmp/目录
adb version: 查看adb版本信息 adb remount: 对其设备读写进行初始化 adb kill-server: 干掉ADB进程 adb start-server:启动ADB进程 adb root:对于已经root过的手机,加载ROOT权限 adb reboot: 重启设备 adb wait-for-device:等待设备上线 adb -d serial number: 当有多台设备链接时,指定某一设备 adb connect <ip>: 经过网络使PC链接设备
- adb logcat - adb logcat -c 清理logcat的缓冲区 adb的日志所有都会缓存在系统的缓冲区,当咱们须要对系统或者App进行Debug的时候,咱们先清理一下以前缓冲区的无效log,这样能够清除一些无效的日志信息。 - adb logcat -v time *:e |grep $package_name 查看指定App的错误信息 如:adb logcat -v time *:e |grep com.koudai.weidian.buyer.internal 运行这个命令后,再操做App,咱们能够经过终端的输出来获取到App在执行过程当中遇到的全部Error信息。
1. bugreport里面包含了各类log信息,大部分log也能够经过直接运行相关的程序来直接得到 bugreport记录android启动过程的log,以及启动后的系统状态,包括进程列表,内存信息,VM信息等等 2. Java Exception 在mian log中分析,须要注意exception的时间PID和栈 3. ANR 在log中查看system log 找到ANR关键字
正常状况,若是Monkey测试顺利执行完成,在log的最后会打印出当前执行事件的次数和所花费的时间;// Monkey finished 表明执行完成 异常状况: 查阅Monkey的输出日志 1. 程序无响应的问题: 在日志中搜索 “ANR” 2. 崩溃问题:在日志中搜索 “Exception” 3. 若是有空指针,搜索“NullPointerException” 4. 若是Monkey执行中断,在log最后也能看到当前执行次数
实时打印的有:logcat main,logcat radio,logcat events,tcp dump,高通平台的还有QXDM日志 状态信息的有:adb shell cat /proc/kmsg,adb shell dmesg,adb shell dumpstate,adb shell dumpsys,adb bugreport,工程模式等。
adb shell pm list packages eg: 买家版: (com.koudai.weidian.buyer.internal) adb shell pm list packages|grep com.koudai
input命令能够用于向键盘发送一些指令。shell
经常使用命令分析:缓存
* adb shell input text test //让键盘输入test,经测试不能支持输入中文 好比输入0,就可使用: adb shell input keyevent KEYCODE_0 或 adb shell input keyevent 7 * adb shell input tap 200 300 //在屏幕坐标(200,300)位置点击一下 * adb shell input swipe 200 200 1000 1000 //就是从屏幕(200,200)滑动到(1000,1000); //在小的距离内,从(200,200)的位置滑动到(201,201)的位置,连续滑动2000毫秒,页面表现为长按的效果 * adb shell input swipe 200 200 201 201 2000 tip:机子要求是安卓4.4以上 如何定位屏幕的坐标呢? 其实在手机开发者选项,开启指针位置功能,就能够实时定位屏幕坐标了
* am 这个命令能够帮助咱们直接启动activity、service及广播 * am start 启动应用 格式: adb shell am start 包名/.类名 或 adb shell am start 包名/类的全名 后面跟的参数的意思分别是: 参数名 解释 -a 传入动做 -n 传入组件(package) -t 传入类型 -d 传入数据 1.拨打一个电话: am start -a android.intent.action.CALL -d tel:10086 2.打开一个网页: am start -a android.intent.action.VIEW -d http://www.baidu.com 3.打开音乐播放器: adb shell am start -n com.android.bbkmusic/.WidgetToTrackActivity 4.启动一个服务: am startservice <服务名称> 例如:am startservice -n com.android.music/com.android.music.MediaPlaybackService 或者 am startservice -a com.smz.myservice 5.发送一个广播: am broadcast -a <广播动做> 例如: am broadcast -a com.smz.mybroadcast 6.adb shell am monitor 监控 crash 与 ANR 7.am force-stop , 后跟包名,结束应用 值得注意的是,不一样手机的相同类型应用,如相机,由于他们的package均可能是不同的,因此要把package提取出来,再抽离为公共的方法。
pm(Package Manager),这个命令主要用于获取和安装在 Android 设备上的应用信息。网络
■ pm list 安装包名查询 ■ adb shell pm list package 列出全部应用 ■ adb shell pm list package -3 列出第三方应用 ■ adb shell pm list instrumentation 列出全部测试包 ■ pm install 安装应用 ■ pm unitall 卸载应用 ■ pm clear 清除应用缓存
-p 容许的包名列表,可同时指定多个包名,每一个包都须要使用“-p”参数指定。指定多个包: adb shell monkey -p package_1 –p package_2 100 --ignore-crashes 忽视应用 crash 报错,不指定该参数时,应用出现 crash,monkey 会自动中止发送事件,指定该参数后,monkey 会在 crash 后也一直发送事件,直到全部事件发送完成。 --ignore-timeouts 忽视超时致使的错误,即ANR的错误
a)能够经过PC机CMD窗口中执行: adb shell monkey {+命令参数}来进行Monkey测试 b)在PC上adb shell 进入Android系统,经过执行 monkey {+命令参数} 来进行Monkey 测试 c) 在Android机或者模拟器上直接执行monkey 命令,能够在Android机上安装Android终端模拟器
Dumpsys用户系统诊断,它运行在设备上,并提供系统服务状态信息 adb shell dumpsys meminfo //内存 adb shell dumpsys meminfo com.koudai.weidian.buyer.internal adb shell dumpsys cpuinfo //CPU adb shell dumpsys gfxinfo //帧率 adb shell dumpsys display //显示 adb shell dumpsys power //电源 adb shell dumpsys batterystats //电池