adb 命令抓取日志如何通过日志查询游戏中是否含有第三方推送sdk

Android ADB命令大全(通过ADB命令查看wifi密码、MAC地址、设备信息、操作文件... - 简书
Android ADB命令大全(通过ADB命令查看wifi密码、MAC地址、设备信息、操作文件、查看文件、日志信息、卸载、启动和安装APK等)
ADB很强大,记住一些ADB命令有助于提高工作效率。
获取序列号:
adb get-serialno
查看连接计算机的设备:
adb devices
重启机器:
adb reboot
重启到bootloader,即刷机模式:
adb reboot bootloader
重启到recovery,即恢复模式:
adb reboot recovery
adb logcat
终止adb服务进程:
adb kill-server
重启adb服务进程:
adb start-server
获取机器MAC地址:
cat /sys/class/net/wlan0/address
获取CPU序列号:
adb shell cat /proc/cpuinfo
adb install &apkfile& //比如:adb install baidu.apk
保留数据和缓存文件,重新安装apk:
adb install -r &apkfile& //比如:adb install -r baidu.apk
安装apk到sd卡:
adb install -s &apkfile& // 比如:adb install -s baidu.apk
adb uninstall &package& //比如:adb uninstall com.baidu.search
卸载app但保留数据和缓存文件:
adb uninstall -k &package& //比如:adb uninstall -k com.baidu.search
启动应用:
adb shell am start -n &package_name&/.&activity_class_name&
查看设备cpu和内存占用情况:
adb shell top
查看占用内存前6的app:
adb shell top -m 6
刷新一次内存信息,然后返回:
adb shell top -n 1
查询各进程内存使用情况:
adb shell procrank
杀死一个进程:
adb shell kill [pid]
查看进程列表:
adb shell ps
查看指定进程状态:
adb shell ps -x [PID]
查看后台services信息:
adb shell service list
查看当前内存占用:
adb shell cat /proc/meminfo
查看IO内存分区:
adb shell cat /proc/iomem
将system分区重新挂载为可读写分区:
adb remount
从本地复制文件到设备:
adb push &local& &remote&
从设备复制文件到本地:
adb pull &remote&
列出目录下的文件和文件夹,等同于dos中的dir命令:
adb shell ls
进入文件夹,等同于dos中的cd 命令:
adb shell cd &folder&
重命名文件:
adb shell rename path/oldfilename path/newfilename
删除system/avi.apk:
adb shell rm /system/avi.apk
删除文件夹及其下面所有文件:
adb shell rm -r &folder&
移动文件:
adb shell mv path/file newpath/file
设置文件权限:
adb shell chmod 777 /system/fonts/DroidSansFallback.ttf
新建文件夹:
adb shell mkdir path/foldelname
查看文件内容:
adb shell cat &file&
查看wifi密码:
adb shell cat /data/misc/wifi/*.conf
清除log缓存:
adb logcat -c
查看bug报告:
adb bugreport
获取设备名称:
adb shell cat /system/build.prop
查看ADB帮助:
跑monkey:
adb shell monkey -v -p your.package.name 500
博客:http://zmywly8866.github.io/
Github:/zmywly8866
知乎:/people/zhang-ming-yun-97404 Not Found
404 Not Found
nginx/1.8.0YSDK接入验证测试用例
YSDK 从 1.3.1 版本开始支持接入YSDK接入时配置检查,该模块接入开发者无需任何工作。
该模块旨在帮助开发者快速完成SDK的接入,当开发者使用YSDK的测试环境时,该功能自动生效,它会读取游戏关于YSDK的相关配置并结合YSDK的配置要求检查配置是否正确。
对于不符合YSDK接入规范的的接入配置,YSDK配置检查模块检查确认以后会通过直接toast信息和logcat日志中error级别日志提示两种方式来提醒开发者。开发者可以根据SDK的提示信息修改相关配置。以下为基于YSDK的demo的错误事例。
配置检查结果展示
& logcat日志
YSDK_CHECK: ******************* 游戏接入过程中请重点关注
*********************
YSDK_CHECK: *
SDK自检模块检测开始,游戏可以结合日志信息确认对应配置是否正确
YSDK_CHECK: YSDK Error: AndroidMainfest: the screenOrientation of com.tencent.midas.proxyactivity.APMidasPayProxyActivity must be same as LauncherActivity
YSDK_CHECK: *
SDK自检模块检测结束,游戏可以结合检测过程日志确认配置是否正确
YSDK_CHECK: ***************************************************************
未安装微信登录游戏
未安装微信时选择用微信登录游戏
未安装微信客户端
1.启动游戏2.通过微信登录方式
微信登录入口屏蔽或给出提示
微信未登录登陆游戏
微信没有帐号登录时选择用微信登录游戏
安装微信后,尚未登录过
1.启动游戏,通过微信方式登录2.在弹出的微信界面输入微信账号密码3.在授权页面同意授权"
微信登录成功、通过授权,进入游戏
微信登录游戏授权时取消
用微信登录游戏在授权时取消授权
1.启动游戏,通过微信方式登录
2.在弹出的授权页面点击左上角取消授权
跳转到登录界面,游戏无异常
未安装手Q登录游戏
未安装手Q客户端时选择用手Q登录游戏
1.启动游戏
2.通过手Q登录方式
跳转到web登录页面,提示下载QQ 或者 游戏弹框提示用户下载QQ
通过手Q登录游戏
手Q帐号未登录时选择用手Q登录游戏
安装手机Q后,尚未登录过
1.启动游戏,通过手Q方式登录
2.在弹出的手Q界面输入QQ账号密码
3.在授权页面同意授权
手Q登录成功、通过授权,进入游戏
通过手Q登录游戏
用手Q帐号登录游戏在授权时取消授权
1.启动游戏,通过手Q方式登录2.在弹出的授权页面点击左上角取消授权
跳转到登录界面,游戏无异常
android5.x系统支持
游戏在android5.x的运行情况
成功安装游戏
点击游戏图标
游戏正常运行,无Crash现象
android6.x系统支持
游戏在android6.x的运行情况
成功安装游戏
点击游戏图标
游戏正常运行,无Crash现象
64位CPU机型支持
游戏在64位CPU的运行情况
成功安装游戏
点击游戏图标
游戏正常运行,无Crash现象
微信/QQ帐号下支付
使用QQ钱包支付
未绑定银行卡
1.购买最低充值额钻石
2.选择银行卡支付
3.输入开通网银功能的银行卡号、密码
1.拉起支付界面QQ钱包后面有原快捷、财付通字样,如果没有联系企业QQ 。
2.支付成功
3.系统发货对应钻石数量。
微信/QQ帐号下支付
充值Q点并支付
1.选择充值金额
2.选择Q点支付
3.输入QQ号码
4.输入QQ密码
1.支付成功
2.返还正确的钻石数。
3.余额扣除正确
微信/QQ帐号下支付
1.选择充值金额
2.选择QQ卡支付
3.输入QQ号码,密码
4.输入正确的卡号密码
1.支付成功
2.返还正确的钻石数。
3.余额扣除正确
微信/QQ帐号下支付
已绑定银行卡帐号
1.选择充值金额
2.选择微信支付
3.输入正确支付密码
1.支付成功
2.返还正确的钻石数。
3.余额扣除正确
自动登录游戏
已经登录的账号再次登录游戏无需重新授权
游戏已登录
1.启动游戏,通过任意登录方式登录
2.直接退出游戏或者从后台杀掉进程
3.再次启动游戏
无需再次登录,直接进入游戏
账号实名认证
未实名认证的用户登录游戏提示实名认证
游戏未登录,账号未实名
1.启动游戏,使用新申请号码通过任意登录方式登录
登录成功或者弹出实名认证的窗口
注销游戏登录
用户可以退出当前登录的账号
游戏已登录
1.启动游戏,通过任意登录方式登录
2.点击游戏内注销登录的按钮
用户退出当前登录,回到授权页面
备注:目前YSDK关于游戏对于android6.x和64位CPU机型的支持还不是必须支持,但是目前这两类机型目前占比正在不断增加,因此建议游戏开发者尽快支持,后续YSDK会将这两项也纳入审核标准。标签:至少1个,最多5个
adb 常用命令
ADB的全称为Android Debug Bridge,就是起到调试桥的作用。ADB是android sdk(Android专属的软件开发工具包)里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备。 它的主要功能有:运行设备的shell(命令行);管理模拟器或设备的端口映射;计算机和设备之间上传/下载文件;将本地apk软件安装至模拟器或android设备。
开启/关闭服务
有时候 adb 运行异常,就需要重启关闭开启 adb 服务。
adb kill-server
# 关闭服务
adb start-server
# 开启服务
查看当前连接的设备
$ adb devices
List of devices attached
192.168.91.185:5555
连接 USB 转为 WIFi
先使用 usb 连接到电脑上。
设置目标设备以侦听端口 5555 上的 TCP/IP 连接。
$ adb tcpip 5555
restarting in TCP mode port: 5555
断开 usb 连接,并访问设备的内部网址
$ adb connect device_ip_address
connected to device_ip_address:5555
查看设备是否已连接
$ adb devices
List of devices attached
192.168.2.127:5555
断开WiFi 连接的设备
$ adb disconnect
disconnected everything
给指定设备发送命令
当电脑连接多个设备时,发出 adb 命令,必须指定一个设备
adb -s serial_number command
adb -s BY2XEE157 install path_to_apk
安装/卸载应用
adb install path_to_apk
覆盖安装应用
adb install -r path_to_apk
adb uninstall com.package.name
电脑与设备间的文件复制
从设备复制文件
adb pull remote local
复制文件到设备
adb push local remote
在上述命令中,local 和 remote 指的是开发计算机(本地)和模拟器/设备实例(远程)上目标文件/目录的路径。例如:
adb push foo.txt /sdcard/foo.txt
输入设备日志到终端上
一直显示设备日志,直到你手动 (Ctrl + C) 停止
adb logcat
将设备缓存的日志输入到终端上,不会阻塞
adb logcat -d
将日志以文件形式输出到手机设备上,会阻塞,需手动 (Ctrl + C) 停止
adb logcat -f /sdcard/log.txt
PS:(1). 如果在后台自动手机,不阻塞终端,则可在命令最后加一个 & 的参数;(2). 加了&的命令,需要在不收集的时候手动停止,否则再次使用该命令时,会造成2个 logcat 的命令都写在同一个文件中。
停止方法:
adb shell kill -9 &logcat pid&
其中logcat_pid 通过 如下命令获取
adb shell ps | grep logcat
# Linux & macOS 平台
adb shell ps | findstr "logcat"
# Windows 平台
清空日志缓存信息
adb logcat -c
过滤指定等级以上的日志
adb logcat *:&level&
日志等级列表:
-- V : Verbose (明细);
-- D : Debug (调试);
-- I : Info (信息);
-- W : Warn (警告);
-- E : Error (错误);
-- F : Fatal (严重错误);
-- S : Silent(Super all output) (最高的优先级, 可能不会记载东西);
示例:命令 $ adb logcat *:E ,只显示错误级别以上的日志
查看设备已安装应用
查看设备所有应用包名,包括:系统应用、第三方应用
adb shell pm list package
查看设备所有第三方应用包名
adb shell pm list package -3
清除指定应用的所有数据(不卸载应用)
adb shell pm clear com.package.name
强制关闭应用
adb shell am force-stop com.package.name
adb shell screencap /sdcard/screen.png
adb shell screenrecord /sdcard/demo.mp4
如果需要停止录制视频,需要等待3分钟或输入快捷键 Ctrl + C停止,也可以加 --time-limit TIME单位为秒如:录制5分钟
adb shell screenrecord /sdcard/demo.mp4 --time-limit 300
当然还可以设置分辨率720P
adb shell screenrecord /sdcard/demo.mp4 --size
获取输入法
获取当前设备默认输入法
adb shell settings get secure default_input_method
设置指定的输入法(设输入法为:com.android/input)为默认
adb shell ime set com.android/input
# 两条命令作用一样
adb shell settings put secure default_input_method com.android/input
获取设备信息参数
adb shell getprop
重启手机命令
adb reboot
重启手机到recovery界面
adb reboot recovery
重启手机到bootloader界面
adb reboot bootloader
重启手机到fastboot界面
adb reboot fastboot
获取设备属性
使用命令adb shell getprop +下面的属性,即可获取相应的属性
ro.build.version.sdk
ro.build.version.release
Android 系统版本
ro.product.model
ro.product.brand
ro.product.name
$ adb shell getprop ro.product.model
查看实时资源占用情况
$ adb shell top
User 4%, System 2%, IOW 0%, IRQ 0%
User 108 + Nice 0 + Sys 68 + Idle 2284 + IOW 0 + IRQ 6 + SIRQ 6 = 2472
PID PR CPU% S
RSS PCY UID
com.android.systemui
13 145376K
/system/bin/surfaceflinger
kworker/u16:2
system_server
kworker/u16:6
kworker/u16:0
55 1708748K
com.vivo.daemonService
更多用法:
显示最多的进程数目
刷新多少次后退出
刷新时间间隔
以什么数据排列 (cpu,vss,rss,thr).
显示线程信息代替进程
显示帮助文档
查看内存信息
adb shell dumpsys meminfo
# 查看整个设备的内存信息
adb shell dumpsys meminfo pid
# 查看指定进程的内存信息
adb shell dumpsys meminfo com.package.name
# 查看指定应用的内存信息
dalvik:是指dalvik所使用的内存。 native:是被native堆使用的内存。应该指使用C\C++在堆上分配的内存。
VSS- Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
RSS- Resident Set Size 实际使用物理内存(包含共享库占用的内存)
PSS- Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)
USS- Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)
一般来说内存占用大小有如下规律:VSS &= RSS &= PSS &= USS
查看指定应用的指定页面启动时间
可通过启动页面指定页面获得时间
adb shell am start -W -n
com.package.name/.activity
查看设备日志获得打开指定页面时间示例:
$ adb shell logcat | grep ActivityManager
06-22 16:27:43.827
I ActivityManager: START u0 {cmp=com.babychat.parent.test/com.babychat.module.setting.view.SettingAty} from uid 10113 on display 0
06-22 16:27:43.967
I ActivityManager: Displayed com.babychat.parent.test/com.babychat.module.setting.view.SettingAty: +115ms
06-22 16:27:44.847
I ActivityManager: START u0 {act=android.content.pm.action.REQUEST_PERMISSIONS pkg=com.android.packageinstaller cmp=com.android.packageinstaller/.permission.ui.GrantPermissionsActivity (has extras)} from uid 10113 on display 0
06-22 16:27:44.867
I ActivityManager: START u0 {cmp=com.babychat.parent.test/com.babychat.activity.OutBoxActivity (has extras)} from uid 10113 on display 0
06-22 16:27:44.997
I ActivityManager: Displayed com.babychat.parent.test/com.babychat.activity.OutBoxActivity: +117ms
06-22 16:27:46.017
I ActivityManager: START u0 {act=android.content.pm.action.REQUEST_PERMISSIONS pkg=com.android.packageinstaller cmp=com.android.packageinstaller/.permission.ui.GrantPermissionsActivity (has extras)} from uid 10113 on display 0
06-22 16:28:30.527
I ActivityManager: START u0 {cmp=com.babychat.parent.test/com.babychat.activity.UserHomeHistoryAty (has extras)} from uid 10113 on display 0
06-22 16:28:30.687
I ActivityManager: Displayed com.babychat.parent.test/com.babychat.activity.UserHomeHistoryAty: +140ms (total +44s660ms)
查看当前 activity
$ adb shell dumpsys window | grep mCurrentFocus
mCurrentFocus=Window{2cf7a4d u0 com.babychat.parent.test/com.babychat.module.chatting.groupmemberlist.GroupMemberListActivity}
adb 命令获取流量有多种方式。
需提前准备的数据
获取指定应用的 pid
adb shell ps | grep com.package.name
$ adb shell ps | grep com.babychat.parent.test
156 SyS_epoll_
S com.babychat.parent.test
48 SyS_epoll_
S com.babychat.parent.test:pushservice
其中logcat_pid 通过 如下命令获取
adb shell ps | grep logcat
# Linux & macOS 平台
adb shell ps | findstr "logcat"
# Windows 平台
第二列的数值就是 pid
获取指定应用的 uid
adb shell cat /proc/&pid&/status
PS:pid 第一点获取的数值如:
$ adb shell cat /proc/2076/status
hat.parent.test
S (sleeping)
TracerPid:
2210788 kB
2033632 kB
Cpus_allowed:
Cpus_allowed_list:
voluntary_ctxt_switches:
nonvoluntary_ctxt_switches:
命令结果中第7行就是 uid 的结果了
1、读取/proc/uid_stat/&UID& 目录下的文件
流量数据分为接收流量(tcp_rcv)和发送流量(tcp_snd)两部分,这两个状态数值我们可以通过读取/proc/uid_stat/&UID&目录下的两个文件得到。
$ adb shell cat /proc/uid_stat/10114/tcp_rcv
$ adb shell cat /proc/uid_stat/10114/tcp_snd
以上命令只能获取 TCP 协议的流量,UDP 等其他协议没有计算在内;
以上数据的单位为(Byte),且此数据是一直累加的,直到卸载应用才会删除
使用以上方法获取流量,需在操作前和操作后各获取一次数据,得到得到之间的相差值就可以了。
2、读取/proc/net/xt_qtaguid/stats | grep &uid& 流量数值
通过使用以下命令获取设备流量信息,如果指定应用,则获取应用的 uid,在该命令后添加参数 | grep uid
adb shell cat /proc/net/xt_qtaguid/stats
$ adb shell cat /proc/net/xt_qtaguid/stats | grep 10114
40 wlan0 0x0
0 0 0 0 6 0 0 0 0
41 wlan0 0x0 98 89 998 0 0 0 0 89 0 0 0 0
第6列是接收的流量数值,单位:bytes;
第8列是发送的流量数值,单位:bytes;
如果结果出现多行数据,相加的总数即为结果
3、读取 /proc/&pid&/net/dev 数值
通过获取到的 pid ,使用命令可得到:
$ adb shell cat /proc/&Pid&/net/dev
face |bytes
packets errs drop fifo frame compressed multicast|bytes
packets errs drop fifo colls carrier compressed
rmnet_ipa0:
r_rmnet_data7:
r_rmnet_data4:
rmnet_data1:
rmnet_data3:
wlan0: 25926
rmnet_data5:
r_rmnet_data1:
rmnet_data7:
r_rmnet_data6:
r_rmnet_data3:
r_rmnet_data8:
rmnet_data0:
r_rmnet_data0:
rmnet_data2:
rmnet_data4:
r_rmnet_data5:
rmnet_data6:
r_rmnet_data2:
PS:1.wlan0 代表是 WiFi 接收发送的流量数值,单位为:bytes
0 收藏&&|&&1
你可能感兴趣的文章
14 收藏,14k
9 收藏,1.2k
1 收藏,1.2k
分享到微博?
明天提醒我
我要该,理由是:adb调试相关日志_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
adb调试相关日志
你可能喜欢}

我要回帖

更多关于 adb卸载apk命令 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信