如何抓取手机包?

如何配置fake response、 fake request?

数据包request、 response中的字段含义?

Android的四大组件

activity:程序与用户的交互窗口
service:在程序后台,完成用户的操作
ContentProvider:提供数据的统一访问格式
BroadcastReceiver:应用程序之间传输信息的机制

activity的生命周期

fiddler工具功能
fiddler工具功能

什么是ANR

AND:application not responding
activity的最长执行时间是5秒
用户可以选择“等待”让程序继续运行,或“强制关闭”

Android常见的五种布局

FrameLayout(框架布局)
LinearLayout(线性布局)
AbsoluteLayout(绝对布局)
RelativeLayout(相对布局)
TableLayout(表格布局)

Android中动画的类型

Tween动画,组件移动、缩放、透明度的变化
Frame动画,通过顺序播放来实现,类似电影

ADB相关的问题

如何重启adb服务?

adb kill-server 关闭adb服务
adb start-server 开启adb服务

APP的安装与卸载?

adb -s <devicename> install <path-to-apk> 安装
adb -s <devicename> install -r <path-to-apk> 覆盖安装
adb -s <devicename> uninstall

如何在电脑和手机之间传输数据?

adb push 上传文件到手机
adb pull 拉取文件到电脑

如何静默安装APP

adb push
adb shell pm install -f …apk

如何使用adb启停一个APP

adb shell am start -W -S package/activity 启用
adb shell am force-stop package 停止

如何通过某个关键字查找已安装的包?

adb shell pm list package -f keyword 手机自带
adb shell pm list package -3 keyword 第三方
adb shell pm list package -i keyword 已经安装

如何截屏、录屏?

adb shell screencap /路径/图片 截屏
adb shell screenrecord /路径/视屏 录屏

如何抓取logcat日志?

adb logcat
adb shell logcat

如何获取当前的CPU、内存状态?

adb shell dumpsys meminfo package
adb shell dumpsys cpuinfo | findstr package

Monkey相关的问题?

Monkey进行压力测试的命令?

adb shell monkey -p <packagename>

如何重现Crash、ANR过程?

添加参数 -s send
adb shell monkey -s 789 -p <packagename>

如何提取Crash、ANR的信息?

将monkey执行过程中的日志重定向到文件
测试版APP连接第三方统计平台
adb shell monkey -v -v -v -s 789 -p <packagename> > 文件名.log

如何设置monkey运行8小时?

添加参数 --throttle
adb shell monkey -v -v -v -s 6789 --throttle 300 -p <package> <count>

在Crash/ANR后,如何继续执行?

添加忽略Crash参数 --ignore-crashes
添加忽略ANR参数 --ignore-timeouts
adb shell monkey -v -v -v -s 6789 --throttle --ignore-crashes --ignore-timeouts 300 -p <package> <count>

如何让monkey执行指定的事件?

触摸事件 --pct-touch
动作事件 --pct-motion
轨迹球事件 --pct-trackball
基本导航事件 --pct-nav
主要导航事件 --pct-majornav
系统导航事件 --pct-syskeys
应用启动事件 --pct-appswitch
其他类型事件 --pct-anyevent

相关文章: