Andriod和iOS log抓取

Andriod篇

抓取log方法

方法一:USB线连接,步骤如下:

1.先下载sdk,下载成功后,解压安装,配置环境变量
2.测试机,打开开发者选项中的USB调试(开发者选项可以在设置中关于手机连续点击,就会提示进入“开发者选项”)
3.打开命令行(开始-->运行-->输入“cmd”),进入DOS命令框,进入sdk目录下的platform-tools文件中
4.输入adb kill server,确保没有其他设备干扰,用USB接入andriod测试机(USB选项,选择文件传输非充电模式)
5.adb devices 查看设备连接信息
6.adb logcat 回车即可查看命令

####方法二:bat命令,步骤如下:

1.打开open_logcat.bat文件(前提是已书写保存),内容:
adb shell setprop log.tag V & adb shell stop & adb shell start
2.打开命令行,进入DOS命令框
3.adb devices 查看设备连接信息
4.adb logcat -s OkHttp 回车即可查看命令,命令过滤如只查看与Adjust相关的命令adb logcat -s OkHttp Adjust
注:前提是需要开发在程序端加东西,哎,测试另一个产品才发现,简直尴尬,后续研究
此外:截图可以使用sdk下面的E:\android-sdk-windows\tools\uiautomatorviewer.bat可以实时截图,andriod studio也有截屏和录屏的功能

方法三:Android Studio

1.Andriod Studio的安装配置,详见Android Studio安装配置、环境搭建详细步骤及基本使用
2.打开Andriod Studio,选择logcat

log过滤小技巧

1.log信息级别

代号 级别
V(verbose) 明细(最低级别)
D(debug) 调试
I(information) 信息
W(warning) 警告
E(error) 错误)
F (Fatal) 严重错误

2.只显示需要输出的白名单

adb logcat " | grep appname"这里不加""就会'grep' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
仅显示error级别的tag
adb logcat "| grep ^E.appname"
抓去对应等级的log
adb logcat *:E

3.从当前开始显示

adb logcat -c && adb logcat

4.把日志输出到电脑指定的文件夹下

adb logcat >D:\test\1.txt

5.结束log抓取

Ctrl + C 取消抓取日志,再按Ctrl + D退出adb shell 模式

6.筛选ANR log

对于网上好多教程说要进行root权限获取超级无语,亲试无用

步骤如下:

1.数据线连接测试设备,adb devices能获取到设备信息再说
2.adb shell
3.cd data/anr
4.ls到这一步就可以看到你所有的traces.txt 文件
5.先退出adb 命令,exit
6.adb pull /data/anr/traces.txt就会导出traces.txt 到你当前命令的位置,例如我使用的是Xshell路径为:G:\Users\Administrator\Documents\Xftp6\Xshell\Sessions;cmd下位置C:\Users\Administrator下
注:部分设备在第6步报错

报错

处理方法: adb shell cat /data/anr/traces.txt>traces.txt也会导出traces.txt 到你当前命令的位置,此外我们也可导出到指定位置,如: adb shell cat /data/anr/traces.txt D:

iOS篇

抓取log方法

方法一:第三方工具,iTools——查看crashlog(目前本人使用最多的方法),步骤如下:

1.下载并安装iTools
2.打开iTools软件并使用USB线连接测试机
3.连接成功后手机信任提示弹框点击信任
4.后续步骤如下,找到对应的APPname和时间点,导出log,更改文件属性.ips.beta——>.crash

Andriod和iOS log抓取_第1张图片
iTools使用步骤

方法二:iTunes同步获取

Mac OS X:~/Library/Logs/CrashReporter/MobileDevice
Windows 7:C:\Users\计算机登录名\AppData\Roaming\Apple Computer\Logs\CrashReporter\MobileDevices

方法三:libimobiledevice——查看实时日志

Mac上:

1.安装libimobiledevice,打开终端直接输入:brew install --HEAD libimobiledevice
出现报错......Requested 'libusbmuxd >= 1.1.0' but version of libusbmuxd is 1.0.10......大概意思说的是libimobiledevice版本更新了,当前版本不符,解决办法:
brew update
brew uninstall --ignore-dependencies libimobiledevice
brew uninstall --ignore-dependencies usbmuxd
brew install --HEAD usbmuxd
brew unlink usbmuxd
brew link usbmuxd
brew install --HEAD libimobiledevice

2.部分常用命令:

  • 安装ipa包,卸载应用
    命令安装一个ipa文件到手机上,如果是企业签名的,非越狱机器也可以直接安装了。
    ideviceinstaller -i xxx.ipa

  • 命令卸载应用,需要知道此应用的bundleID
    ideviceinstaller -U [bundleID]

  • 查看系统日志
    idevicesyslog

  • log筛选

1.idevicesyslog >> iphone.log &
2.tail -f iphone.log | grep 'QQ'# 查看包含QQ的行

  • 查看当前已连接的设备的UUID
    idevice_id --list
  • 截图
    idevicescreenshot
  • 查看设备信息
    ideviceinfo
    Return Top

方法四:iOS通过设备直接获取崩溃日志

1.打开设置->隐私->分析->分析数据,在其中找到你想要的应用程序的日志,日志将使用以下格式命名:<应用名称>_<崩溃时间>
2.选择所需的日志,复制文本或点击右上角的分享按钮分享出去,并且把分享得到的.ips文件的后缀名改为.crash即可

你可能感兴趣的:(Andriod和iOS log抓取)