欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

APP测试-Android日志

程序员文章站 2022-06-24 19:07:46
app测试的时候,经常会遇到异常,如果开发没有异常保存,就得通过adb命令来查看日志信息日志分类:1)实时打印日志可以通过ddms工具来查看实时日志可以通过命令查看:adb logcat,打印的是所有应用里面的信息代码中如何写日志的(了解)Android提供了自己的log输出api-位于android.util.Log这个类中,这个类比较常用的打印日志方法有5个,这5个 方法会把日志打印到LogCat中Log.v(tag.message)://verbose模式,打印最详细的日志明细;Lo...

app测试的时候,经常会遇到异常,如果开发没有异常保存,就得通过adb命令来查看日志信息

1 日志分类:

1)实时打印日志

可以通过ddms工具来查看
APP测试-Android日志
实时日志可以通过命令查看:adb logcat,打印的是所有应用里面的信息

代码中如何写日志的(了解)
Android提供了自己的log输出api-位于android.util.Log这个类中,这个类比较常用的打印日志方法有5个,这5个 方法会把日志打印到LogCat中
Log.v(tag.message)://verbose模式,打印最详细的日志明细;
Log.d(tag.message)://debug的级别日志;
Log.i(tag.message)://info级别的日志;
Log.w(tag.message)://warn级别的日志;
Log.e(tag.message)://error级别的日志;

tag用例标记log消息的源头的,而message是这条log的内容,从日志的输出数量来算,error、warn、info、debug、verbose数量从少到多

1)adb logcat --help
APP测试-Android日志

2)adb logcat ActivityManager:I *:s(过滤ActivityManager中的info日志)
3)adb logcat | findstr ActivityManager(过滤ActivityManager日志)

"-b":加载一个日志缓冲区,默认是main,下面详解:
4)adb logcat -b main -v time>app.log 打印应用程序的log

  • 打印出日志信息

APP测试-Android日志

  • 导出日志信息

APP测试-Android日志

APP测试-Android日志

APP测试-Android日志

5)adb logcat -v time>app.log 默认main(可以查看日志的输出时间)
6)adb logcat -b radio -v time>radio.log 打印射频相关的log,广播电话相关的日志信息
7)adb logcat -b events -v time>event.log 打印系统事件的日志,比如触屏事件

2 状态信息日志

bugreport(命令adb bugreport>bugreport.log)

bugreport 记录Android启动过程的log,以及启动后的系统状态、包括进程列表、内存信息等等到,里面包含有dmesg、dumpstate和dumpsys

1)dmesg(命令 adb shell dmesg > ldmesg_kemellog)打印内核启动过程的所有信息,凡是跟kemel相关的,比如driver出了问题(相机、蓝牙、usb、启动等等)
APP测试-Android日志

APP测试-Android日志

2)dumpstate是系统状态信息(命令adb shell dumpstate > ldumpstate_kernel.log),里面比较全,包括手机当前的内存信息、CPU信息、logcat缓存,kernel缓存等等。

3)dumpsys这个是关于系统所有进程Process的内容都在这个里面
具体命令
adb shell dumpsys cpuinfo system 查看system这个process的内存信息

dumpsys [options]

  • cpuinfo 显示内存信息
  • account 显示accounts信息
  • activity 显示所有的activities的信息

3 ANR日志 application not responding

ANR定义:在Android 上,如果你应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应对话框。用户可以选择“等待”而让程序继续运行,也可以选择“强制关闭”

所以一个流畅的合理应用程序中不能出现anr,而用户每次都要处理这个对话框。因此,在程序里对响应性能的设计很重要,这样系统不会显示ANR给用户。

ANR日志路径:/data/anr/trace.txt
出现ANR,找到ANR中的报错日志信息提交给开发。

注意:
如果没有这个异常就不会产生这个日志文件

4 Monkey日志

5 查看包名方法

查看包名的方法有很多种
1)/data/data (通过adb shell 命令进入手机查看)
APP测试-Android日志

2)DNS工具
APP测试-Android日志

3)ActivityManager:I *: s (adb logcat ActivityManager:I *: s)
APP测试-Android日志

4)adb shell pm list packages findstr camera
APP测试-Android日志

5)aapt dump badging <file_path.apk>:如没有加环境变量,需cd到工具目录下(sdk/build-tools)如果没有安装需要安装aapt

6 ROOT

手机ROOT通常是针对Android系统对于手机而言,它使得用户可以获取Android 操作系统的超级用户权限。

root通常用于帮助用户越过手机制造商的限制,使用户可以卸载手机制造商、运营商、第三方渠道商预装在手机中某些应用,以及运行一些需要超级用户权限的应用程序。所以,用root进行不当的操作是相当于危险的,轻微的可以死机,严重的不能开机。所以Unix、Linux及Android中,除非确实需要,一般情况下都不推荐使用root。

Android 系统的root与ios系统的越狱类似。

本文地址:https://blog.csdn.net/qq_41596734/article/details/108669565