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

主要功能:

用于在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、将脚本文件“getpid.bat”、“catlog.bat”剪切到adb目录中

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

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

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

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

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

实现的效果

因之前写的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抓取指定应用日志实现步骤就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Android studio保存logcat日志到本地的操作

    windows环境下 1.输出logcat日志到本地文件 adb logcat -> F:/logcat.txt 2.输出带时间的logcat日志到本地文件: adb logcat -v threadtime -> F:/logcat.txt 输入以上命令后,adb自动保存logcat日志到指令的文件,,按ctrl + c结束保存. 补充知识:Android真机调试不打印log Android开发过程中,有时候用真机调试时明明执行了log打印,但是控制台就是不输出,可能是因为手机的log打印功

  • android studio 使用adb 命令传递文件到android 设备的方法

    一:文件传输 在android开发中,有时候需要将文件从pc端传递至android,或者将软件运行的日志,从android设备传递到pc进行分析,我们可以使用windows的cmd窗口,或者android studio的terminal窗口来传递文件. 1:连接android设备 此处默认是android设备,已打开usb调试模式,并且数据线已经和电脑连接.我们先使用adb devices指令,查询一下设备是否正常连接. 2:设备连接后,将pc文件传输至android设备 adb -s xxxx

  • android adb实用命令小结

    adb对于Android程序员来说在日常的工作中使用频率很高,现将自己工作中常用的adb命令总结一下备忘,方便查询,也供大家参考.查看应用内存占用,耗电信息,启动时间,wakelock,跑monkey的命令在之前的应用性能优化中起了不小的作用.以下adb命令的测试机器为小米3,其中package_name代表包名. 基础脚本: 1.启动adb服务 adb start-server 2.终止adb服务 adb kill-server 3.进入adb运行环境 adb shell 4.获取帮助 里面有

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

    主要功能: 用于在PC端通过ADB工具抓取指定android真机上运行的指定包名应用的调试日志,并生成本地txt文件. 实现步骤: 1.准备ADB调试软件: 2.根据包名找到进程pid; 新建一个txt文件,重命名为"getpid.bat",把下面代码复制到该文档中,保存: 包名"com.wtoe.demo"可替换为自己所需要抓取日志的包名. @echo off adb shell "ps | grep com.wtoe.demo" 3.根据包名

  • Python爬虫抓取指定网页图片代码实例

    想要爬取指定网页中的图片主要需要以下三个步骤: (1)指定网站链接,抓取该网站的源代码(如果使用google浏览器就是按下鼠标右键 -> Inspect-> Elements 中的 html 内容) (2)根据你要抓取的内容设置正则表达式以匹配要抓取的内容 (3)设置循环列表,重复抓取和保存内容 以下介绍了两种方法实现抓取指定网页中图片 (1)方法一:使用正则表达式过滤抓到的 html 内容字符串 # 第一个简单的爬取图片的程序 import urllib.request # python自带

  • android手机端与PC端使用adb forword通信

    PC端与Android手机端使用adb forword通信 服务器端代码如下: import java.io.IOException; import java.io.ObjectOutputStream; import java.net.Socket; import java.net.UnknownHostException; import java.util.Scanner; public class Server { public static final String TAG = "ser

  • python抓取网页中图片并保存到本地

    在上篇文章给大家分享PHP源码批量抓取远程网页图片并保存到本地的实现方法,感兴趣的朋友可以点击了解详情. #-*-coding:utf-8-*- import os import uuid import urllib2 import cookielib '''获取文件后缀名''' def get_file_extension(file): return os.path.splitext(file)[1] '''創建文件目录,并返回该目录''' def mkdir(path): # 去除左右两边的

  • Python3实战之爬虫抓取网易云音乐的热门评论

    前言 之前刚刚入门python爬虫,有大概半个月时间没有写python了,都快遗忘了.于是准备写个简单的爬虫练练手,我觉得网易云音乐最优特色的就是其精准的歌曲推荐和独具特色的用户评论,于是写了这个抓取网易云音乐热歌榜里的热评的爬虫.我也是刚刚入门爬虫,有什么意见和问题欢迎提出,大家一起共同进步. 废话就不多说了-下面来一起看看详细的介绍吧. 我们的目标是爬取网易云中的热歌排行榜中所有歌曲的热门评论. 这样既可以减少我们需要爬取的工作量,又可以保存到高质量的评论. 实现分析 首先,我们打开网易云网

  • Python实现多线程抓取妹子图

    心血来潮写了个多线程抓妹子图,虽然代码还是有一些瑕疵,但是还是记录下来,分享给大家. Pic_downloader.py # -*- coding: utf-8 -*- """ Created on Fri Aug 07 17:30:58 2015 @author: Dreace """ import urllib2 import sys import time import os import random from multiprocessi

  • PHP抓取及分析网页的方法详解

    本文实例讲述了PHP抓取及分析网页的方法.分享给大家供大家参考,具体如下: 抓取和分析一个文件是非常简单的事.这个教程将通过一个例子带领你一步一步地去实现它.让我们开始吧! 首先,我首必须决定我们将抓取的URL地址.可以通过在脚本中设定或通过$QUERY_STRING传递.为了简单起见,让我们将变量直接设在脚本中. <?php $url = 'http://www.php.net'; ?> 第二步,我们抓取指定文件,并且通过file()函数将它存在一个数组里. <?php $url =

  • Python实现周期性抓取网页内容的方法

    本文实例讲述了Python实现周期性抓取网页内容的方法.分享给大家供大家参考,具体如下: 1.使用sched模块可以周期性地执行指定函数 2.在周期性执行指定函数中抓取指定网页,并解析出想要的网页内容,代码中是六维论坛的在线人数 论坛在线人数统计代码: #coding=utf-8 import time,sched,os,urllib2,re,string #初始化sched模块的scheduler类 #第一个参数是一个可以返回时间戳的函数,第二个参数可以在定时未到达之前阻塞. s = sche

  • python使用自定义user-agent抓取网页的方法

    本文实例讲述了python使用自定义user-agent抓取网页的方法.分享给大家供大家参考.具体如下: 下面python代码通过urllib2抓取指定的url的内容,并且使用自定义的user-agent,可防止网站屏蔽采集器 import urllib2 req = urllib2.Request('http://192.168.1.2/') req.add_header('User-agent', 'Mozilla 5.10') res = urllib2.urlopen(req) html

  • PHP配合fiddler抓包抓取微信指数小程序数据的实现方法分析

    本文实例讲述了PHP配合fiddler抓包抓取微信指数小程序数据的实现方法.分享给大家供大家参考,具体如下: 这两天研究了下微信指数这个东西.要抓取呢,按照一般思路的话,那就是使用fiddler抓取手机包,然后进行分析获取地址然后请求就可以了. 这么想你是没错,如果你果断这么做了,那就是too yang too simple了.大家可以看下,微信抓取有以下几个步骤: 1.开始登陆小程序 2.获取访问需要的令牌 3.那这令牌去获取数据 首先的难点就是小程序的登陆那一步.你得先登陆了微信之后才可以访

随机推荐