使用bugreport观察和分析系统日志,解决crash,anr等问题
adb shell monkey -p com.android.Launcher3 -v 100000
adb shell monkey -p com.android.Launcher3 -v 100000
是一条用于Android设备的命令,它通过ADB(Android Debug Bridge)工具来执行Monkey测试。这条命令的具体含义如下:
adb shell
: 这是启动ADB shell环境的命令,允许你在连接的Android设备上运行shell命令。monkey
: 这是一个命令行工具,用来为应用程序提供伪随机的用户事件流,如点击、触摸或手势等,以进行压力测试或自动化测试。-p com.android.Launcher3
: 参数-p
后面跟的是包名,这里指定的是com.android.Launcher3
,即Android系统的Launcher应用。这意味着Monkey测试将仅限于在该应用内执行。-v
: 这个参数用来设置详细级别,可以多次使用以增加输出的详细程度。一个-v
表示基本的详细信息,两个-v
表示中等详细信息,三个-v
则表示最详细的输出。100000
: 这个数字指定了Monkey应该发送给目标应用的事件数量。在这个例子中,Monkey将会产生100000个随机事件。
综合起来,这条命令的作用是在Android设备上对com.android.Launcher3
这个应用执行100000次随机的用户操作,同时输出基本的详细信息。这通常用于测试应用的稳定性和健壮性,确保应用能够正确处理各种可能的用户输入。
1.分析crash
adb bugreport
解压之后主要看这个日志
如果发生了crash 常用方法是搜索 FATAL 或者搜索Dead
2.分析ANR
系统根目录下的/data/anr记录了发生anr的日志
anr发生的原因是main线程被卡住引发的,日志可以直接搜下面的关键字
或者直接搜索pid,线程pid和主线程的sysTid的相等的
还可以搜索bugreport里面的关键字am_anr
或者也可以在bugreport里面搜索anr日志的最顶上的信息,如下