zoukankan      html  css  js  c++  java
  • 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:windowsSysWOW64里

    将adb.exe复制一份到Androidandroid-sdk-windows ools文件夹

    将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:apkase.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:APKase.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 est.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:apkmi.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关键词来定位到详细的堆栈信息。
    在这里插入图片描述

    声明 欢迎转载,但请保留文章原始出处:) 博客园:https://www.cnblogs.com/chenxiaomeng/ 如出现转载未声明 将追究法律责任~谢谢合作
  • 相关阅读:
    Android中的IMEI
    《JAVA与模式》之适配器模式(转)
    海量日志数据__怎么在海量数据中找出重复次数最多的一个
    Java中的IO流系统详解(转载)
    获取网络文件长度问题
    内存泄漏
    Ubuntu12.04不能连接小米开发(转)
    Java/C++中数组的区别
    Android批量插入数据到SQLite数据库
    泛型编程 基础
  • 原文地址:https://www.cnblogs.com/chenxiaomeng/p/14868697.html
Copyright © 2011-2022 走看看