当前位置: 移动技术网 > 移动技术>移动开发>Android > APP测试-Android日志

APP测试-Android日志

2020年09月22日  | 移动技术网移动技术  | 我要评论
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工具来查看
在这里插入图片描述
实时日志可以通过命令查看: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
在这里插入图片描述

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

  • 打印出日志信息

在这里插入图片描述

  • 导出日志信息

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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、启动等等)
在这里插入图片描述

在这里插入图片描述

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 命令进入手机查看)
在这里插入图片描述

2)DNS工具
在这里插入图片描述

3)ActivityManager:I *: s (adb logcat ActivityManager:I *: s)
在这里插入图片描述

4)adb shell pm list packages findstr camera
在这里插入图片描述

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

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网