adb知识

准备好文件adb、android-sdk-windows(安卓)、nox_setup_v6.6.0.5_full(夜神模拟器)

新建一个文件夹,名字为Android然后将android-sdk-windows文件夹复制到里边

打开我的电脑-属性-高级设置-环境变量

新建系统变量ANDROID_HOME
将android-sdk-windows文件夹打开,路径复制一份以英文分号;结束放在变量值中
将tools文件夹打开,复制路径放到上边的变量值后边分号结束
将platforms文件夹打开,复制路径放在tools路径后边

打开adb文件夹,将adb.exe和AdbwinApi.dll复制到路径C:\windows\SysWOW64里

将adb.exe复制一份到Android\android-sdk-windows\tools文件夹

将tools文件夹路径复制到path系统变量中

先在DOS命令中输入adb验证是否成功配置adb

然后输入android -n 验证android是否配置好

安装nox_setup(夜神模拟器)

adb理论知识

一、Android系统与iOS系统的区别:
1.两者运行机制不同,对于安卓系统来说是采用虚拟机运行机制,iOS系统采用的沙河机制
2.两者的后台制度不同,iOS中的任何第三方程序都不能在后台运行,安卓中的任何程序都可以在后台运行,直到没有内存才关闭
二、Android SDK里边的一些自带的工具:
Monkey、uiautomofor、adb程序
三、安卓应用程序安装的相关路径:
1.system/app 系统自带的应用程序,无法删除
2.data/app 用户安装的程序,有删除权限
四、安装过程:
首先,会把最初的文件放到/data/dalvik-cache并且在data/data里创建对应的数据目录
五、卸载过程:
删除安装过程中产生的文件和目录
安卓手机上边的安装包的后缀为 .apk

adb命令

  1. adb version 查看adb版本

  2. adb connect 127.0.0.1:62001 连接指定的设备(shell)

  3. adb devices 查看当前连接的设备

  4. adb kill-server 关闭adb服务器

  5. adb start-server 启动adb服务器

  6. adb shell 进入默认的Android系统(如果只连接了一个设备)

  7. adb -s 127.0.0.1:62001 shell 进入指定的shell
    (夜神模拟器默认端口号第一个为62001,第二个为 62025第三个为62026以此类推)

  8. exit 退出当前shell

  9. (adb shell)pm list packages 查看系统中所有的应用

  10. (adb shell)pm list packages -s 查看系统中所有的系统应用

  11. (adb shell)pm list packages -3 查看系统中第三方的应用(已安装的)
    (括号里边是未进入安装系统的时候需要加adb shell,进入安装系统后不需要加adb shell)

  12. 把PC端的apk安装包上传到模拟器
    Adb push 本地路径 /sdcard 上传到模拟器的内存卡
    如:adb push E:\apk\base.apk /sdcard
    13.把模拟器上面的apk下载到本地
    Adb pull 模拟器安装包位置 本地路径
    如:adb pull /data/app/com.android36kr.app-1/base.apk E:\apk
    14.安装虚拟机器中的安装包
    ①adb shell pm install /sdcard/base.apk 在虚拟器外安装SD盘的安装包装到系统
    ②pm install /sdcard/base.apk 在虚拟器中将虚拟机SD盘的安装包装到虚拟器系统
    15.直接从windows中安装软件
    adb install D:\APK\base.apk 直接从PC安装到虚拟机

  13. 卸载软件
    adb shell pm list package -3 查出要卸载的第三方的包名(应用名)
    ①pm uninstall 包名(在虚拟机系统删除某应用)
    ②adb uninstall 包名 (不进入虚拟机直接卸载某应用)

  14. adb shell pm clear 包名(应用名) 清理应用缓存

  15. (adb shell) screencap /sdcard/tupian.png 截屏并保存在虚拟器外加adb shell

  16. adb logcat -v time 以时间格式实时查看操作日志

  17. adb logcat -t 100 查看最近100行的日志

  18. adb logcat -c 清空日志缓存信息

  19. 如何查看某个app的日志
    1.找到app的包名(应用名) (pm list packages -3)
    2.进入shell通过包名找到占用的进程id (ps | grep 包名(应用名))#找完整包名的进程id
    3.通过进程id 查看日志 (adb logcat | findstr 进程id)
    adb logcat | findstr 进程id >D:\apk\test.txt 把日志打印到文件里面

  20. 命令关闭app
    adb shell am force-stop com.android36kr.app
    adb shell am force-stop 包名(应用名)

  21. 命令启动app
    1.打开app首页,找到首页的activity
    adb shell dumpsys window | findstr “Current” 找到包名/activity
    2.通过adb shell am start -W -n 包名/首页的activity

  22. adb reboot 重启模拟器

  23. monkey:
    Monkey是安卓自动化测试的一种手段,它可以在我们的真机或者模拟器里面运行,可以向系统发送伪随机的事件流,比如按键输入,屏幕触摸,手势操作等,可以实现对当前测试软件的压力测试,来测试app的稳定性。也可以做简单的机型适配,也可以测试app是否会出现crash等异常,以及系统的崩溃问题。
    Monkey是由安卓系统自带,是由java代码开发的
    monkey在安卓系统中的路径是/system/bin/monkey

Monkey的属性

-p 是指定特定的包,如果不指定包那么就在整个安卓系统里面运行
如:adb shell monkey -p com.android36kr.app 500
-v 日志级别,有三个级别(-v,-vv,-vvv,v越多日志越详细)
如 :adb shell monkey -p com.android36kr.app -vvv 500
-s 用于生成伪随机事件的seed值
如:adb shell monkey -p com.android36kr.app -s 123456 -vvv 500
—throttle 用户指定的时间操作间隔,单位是毫秒(一般可以设置为300)
如:adb shell monkey -p com.android36kr.app ——throttle 300 -s 123456 -vvv 500
——ignore-timeouts 忽略超时错误
——ignore-crashes 忽略闪退问题
——ignore-security-exceptions 忽略许可证错误比如网络许可
如:adb shell monkey -p com.xiaomi.shop ——throttle 300 ——ignore-timeouts ——ignore-crashes ——ignore-security-exceptions -s 123456 -vvv 500
——pct-touch 触摸事件
——pct-motion 滑动事件
——pct-trackball 轨迹球事件
——pct-syskeys 系统按键(比如home键,back键)
——pct-anyevent 任意事件
如:adb shell monkey -p com.xiaomi.shop ——throttle 300 ——pct-touch 20 ——pct-anyevent 20
——ignore-timeouts ——ignore-crashes ——ignore-security-exceptions -s 123456 -vvv 500

导出日志:

adb shell monkey -p com.xiaomi.shop ——throttle 300 ——pct-touch 20 ——pct-anyevent 20 ——ignore-timeouts ——ignore-crashes ——ignore-security-exceptions -s 123456 -vvv 500 > D:\apk\mi.txt

对于测试结果的分析,通过搜索关键词来定位错误,主要包括以下四个方面:

1)ANR:程序无响应,一般主线程超过5秒没处理就会出现ANR错误。
通过搜索ANR关键词来定位关键的事件信息。除了导出日志外,还可以将/data/anr/目录下的trace.txt文件导出,用来定位分析问题。使用adb pull /data/anr/trace.txt d:\ 将trace.txt文件导出到d盘。
2)ForceClosed或其他异常退出信息:通过搜索Fatal关键词来定位。
3)崩溃问题:通过搜索Exception关键词来定位。
4)发生异常后,通过搜索Crash关键词来定位到详细的堆栈信息。

(0)

相关推荐

  • 为开发者总结了Android ADB 的常用十种命令

    为开发者总结了Android ADB 的常用十种命令

  • adb shell中的pm指得是什么

    表白:我想要把你宠成生活不能自理的孩子啊 讲解对象:adb shell中的pm指得是什么 作者:融水公子 rsgz 今天我们再来谈一个概念.在adb领域中会存在着pm这样一个东西.pm到底是什么东西呢 ...

  • 更多获取app包名方法

    表白:我越想睡越怕黑,越醒着越怕鬼,越爱她越是自卑,疑神疑鬼 讲解对象:更多获取app包名方法 作者:融水公子 rsgz 方法1:d.app_current() 原理:显示正在运行的app包名 imp ...

  • [从零开始学装系统六]windows10激活知识,正版盗版?数字许可?

    [从零开始学装系统六]windows10激活知识,正版盗版?数字许可?

  • 铣削刀具加工知识:顺铣与逆铣适用情况对比

    铣刀切削时,每切一次,刀刃就受到一次冲击载荷的作用.为使铣削成功,必须考虑一次铣削时刀刃的切入,以及切削时刀刃与材料的正确接触.加工过程中,工件沿与铣刀旋转方向同向或反向送料,对加工精度有一定影响. ...

  • 西安打算将有关烟草烟雾危害的知识纳入中小学课程

    为了创建无烟环境,减少吸烟的危害吸烟对公共健康,保护公民的健康权以及建设高质量的宜居城市,27日<西安市吸烟控制条例草案>已提交第十六届全国人民代表大会常务委员会第四十三次会议初步审查. ...

  • 知识清单 | 全面认识我国的分配制度​

    全面认识我国的分配制度 (1)是什么 按劳分配为主体.多种分配方式并存. (2)为什么 ①生产决定分配.我国现阶段的生产力状况是实行按劳分配为主体.多种分配方式并存的分配制度的根本原因. ②生产资料所 ...

  • 知识清单 | 按劳分配与按生产要素分配

    按劳分配与按生产要素分配(1)按劳分配原因是由一定的经济条件决定的.①生产资料公有制--前提.②社会主义公有制条件下的生产力的发展水平--物质基础.③社会主义条件下人们劳动的性质和特点--直接原因基本 ...

  • 经络[科普知识]

    定义 词语:经络 拼音:jīng luò 释义:经络是经脉和络脉的总称,是运行全身气血,联络脏腑形体官窍,沟通上下内外,感应传导信息的同路系统,是人体结构的重要组成部分. 经络的粗浅定义是:关于人类身 ...

  • 【知识传递】检测报告中数据不准确,问题常出在这儿↓↓↓

    排除人为故意,检验报告中的结论不正确或数据不准确也时有发生,一般来说,问题主要出在这几个方面: 1检验和计算粗心大意 检验是一个需要专注的过程,稍有疏忽,就容易出现差错.而随着手机的普及,检验过程中, ...

  • 知识清单 | 全面认识我国宗教工作基本方针

    全面认识我国宗教工作基本方针内容注意点实行宗教信仰自由政策①实行宗教信仰自由政策并非鼓励公民信教.②我国实行宗教信仰自由政策的实质是使宗教信仰成为公民个人的自由选择,成为个人的私事.③国家保护正常的宗 ...

  • 【总结污水处理知识篇】看完污水处理水平会进阶!

    【总结污水处理知识篇】看完污水处理水平会进阶!