android开发分享Android PC端用ADB抓取指定应用日志实现步骤

主要功能:用于在pc端通过adb工具抓取指定android真机上运行的指定包名应用的调试日志,并生成本地txt文件。实现步骤:1、准备adb调试软件;2、根据包名找到进程pid;新建一个txt文件,重

主要功能:

用于在pc端通过adb工具抓取指定android真机上运行的指定包名应用的调试日志,并生成本地txt文件。

实现步骤:

1、准备adb调试软件;

2、根据包名找到进程pid;

新建一个txt文件,重命名为“getpid.bat”,把下面代码复制到该文档中,保存;

包名“com.wtoe.demo”可替换为自己所需要抓取日志的包名。

@echo off
adb shell “ps | grep com.wtoe.demo”

3、根据包名找到进程pid;

新建一个txt文件,重命名为“catlog.bat”,把下面代码复制到该文档中,保存

文件路径“f:/android_log/001.log ”可替换为自己电脑的任意文件路径;文件无需创建,运行时,会自动创建。

  @echo off  for /f "tokens=2 delims= " %%i in ('getpid.bat') do adb logcat | find "%%i" > f:/android_log/001.log   pause

#如果该包名有多个进程pid(守护进程等),都会打印到日志中。

4、将脚android开发分享Android PC端用ADB抓取指定应用日志实现步骤件“getpid.bat”、“catlog.bat”剪切到adb目录中

Android PC端用ADB抓取指定应用日志实现步骤

5、将android手机用数据线连接电脑,手机打开开发者调试模式(若未开启开发者模式,一般可以进入系统-关于手机-全部参数 等界面,连续点击版本7次左右可开启)

6、点击运行“cmd.exe”,先运行命令“adb devices”,查看是否有真机连接上电脑adb。

7、双击运行 “catlog.bat”即可(不要关闭命令窗口,关闭窗口即停止抓取日志)。

8、查看日志文件。可能存在中文字符乱码的问题,更改编码格式就可以了。

补充知识:android studio带文件和行输出的logcat

实现的效果

Android PC端用ADB抓取指定应用日志实现步骤

因之前写的c/c++打印都是带上文件名和行数的,自学到android 的logcat,发现错误时候会直接鼠标点击跳转到相应的代码处,遂自己封装下一个函数,能够打印文件,行数并且支持直接的鼠标跳转,很方便调试。deep参数可以自定义深度,比如 1 代表上一个方法的调用处,但是有时候可能有问题,不带深度的打印目前没有发现问题。

  package m.hajistark.main;    import android.util.log;      /**   * created by hajistark on 2019/2/18.   */    public class logprint {   private static string tag = "conlog ";     public static string line() {   stacktraceelement ste = new throwable().getstacktrace()[2];   return "(" + ste.getfilename() + ":" + ste.getlinenumber() + ") ";   }     public static string line(int deep) {   stacktraceelement ste = new throwable().getstacktrace()[2 + deep];   return "(" + ste.getfilename() + ":" + ste.getlinenumber() + ") ";   }     public static void i(string str) {   log.i(tag + line(), str);   }     public static void w(string str) {   log.w(tag + line(), str);   }     public static void d(string str) {   log.d(tag + line(), str);   }     public static void d(string str, int deep) {   log.d(tag + line(deep + 1), str);   }     public static void e(string str) {   log.e(tag + line(), str);   }     public static void e(string str, int deep) {   log.e(tag + line(deep + 1), str);   }     public static void c(exception e) {   e.printstacktrace();   }  }  

以上这篇android pc端用adb抓取指定应用日志实现步骤就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持<计算机技术网(www.ctvol.com)!!>。

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/addevelopment/898486.html

(0)
上一篇 2021年10月22日
下一篇 2021年10月22日

精彩推荐