adb logcat通过包名过滤(dos命令find后跟变量)

adb命令中似乎没有直接通过报名来过滤的功能,但是可以通过过滤进程的pid来过滤该应用的日志

过滤条件:该app在运行

实现原理:

1、获取该app运行时的pid

2、通过find命令,过滤pid的日志,就是该包的运行日志

实现:

1、在同一目录建立一文件:getpid.bat

@echo off
adb shell "ps | grep com.example.testprogram"

复制以上代码,保存

2、在同一目录建立另外一个问文件:getpid1.bat

@echo off
for /f  "tokens=2 delims= " %%i in ('getpid.bat') do set pid=%%i
echo %pid%
adb logcat | find  "%pid%"
pause

复制以上代码,并保存

链接手机,启动com.example.testprogram这个app

双击getpid1.bat即可获取该程序的日志:

D/dalvikvm( 9017): Late-enabling CheckJNI
I/ActivityManager( 2272): Start proc com.example.testprogram for activity com.example.testprogram/.MainActivity: pid=9017 uid=10070 gids={50070, 1028}
D/libEGL  ( 9017): loaded /system/lib/egl/libEGL_mali.so
D/libEGL  ( 9017): loaded /system/lib/egl/libGLESv1_CM_mali.so
D/libEGL  ( 9017): loaded /system/lib/egl/libGLESv2_mali.so
E/        ( 9017): Device driver API match
E/        ( 9017): Device driver API version: 17
E/        ( 9017): User space API version: 17
E/        ( 9017): mali: REVISION=Linux-r3p1-01rel1 BUILD_DATE=Tue Jul  2 15:06:24 KST 2013
D/OpenGLRenderer( 9017): Enabling debug mode 0
D/tag     ( 9017): it's a log !
D/AndroidRuntime( 9017): Shutting down VM
W/dalvikvm( 9017): threadid=1: thread exiting with uncaught exception (group=0x418dc700)
E/AndroidRuntime( 9017): FATAL EXCEPTION: main
E/AndroidRuntime( 9017): java.lang.ArithmeticException: divide by zero
E/AndroidRuntime( 9017): 	at com.example.testprogram.MainActivity$2.onClick(MainActivity.java:33)
E/AndroidRuntime( 9017): 	at android.view.View.performClick(View.java:4247)
E/AndroidRuntime( 9017): 	at android.view.View$PerformClick.run(View.java:17728)
E/AndroidRuntime( 9017): 	at android.os.Handler.handleCallback(Handler.java:730)
E/AndroidRuntime( 9017): 	at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime( 9017): 	at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime( 9017): 	at android.app.ActivityThread.main(ActivityThread.java:5289)
E/AndroidRuntime( 9017): 	at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 9017): 	at java.lang.reflect.Method.invoke(Method.java:525)
E/AndroidRuntime( 9017): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739)
E/AndroidRuntime( 9017): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)
E/AndroidRuntime( 9017): 	at dalvik.system.NativeStart.main(Native Method)
I/Process ( 9017): Sending signal. PID: 9017 SIG: 9
I/ActivityManager( 2272): Process com.example.testprogram (pid 9017) has died.
W/InputMethodManagerService( 2272): Got RemoteException sending setActive(false) notification to pid 9017 uid 10070
时间: 2024-10-14 20:59:50

adb logcat通过包名过滤(dos命令find后跟变量)的相关文章

adb logcat 通过包名过滤日志并输出到txt文件

最近学使用ADB命令抓包APP闪退的日志: 1)在cmd命令行中可以使用adb logcat 命令查看android系统的log,也可以使用adb shell进入到adb shell专用命令行 2)dos窗口可以直接输入log,或定向输出到txt文件: 3)按ctrl+c中断输入log记录: android输出的每一条日志都有一个标记和优先级与其关联. 优先级是下面的字符,顺序是从低到高: V - 明细 verbose(最低优先级) D - 调试 debug I - 信息 info W - 警告

android 通过包名过滤logcat

1 #!/bin/bash 2 3 if [[ ! -n $1 ]]; then 4 cat <<EOF 5 Usage: `basename $0` <packagename> 6 EOF 7 exit 1 8 fi11 12 package_name=$1 13 ip=110.1.1.19:5555 14 pid_list=$(adb -s $ip shell ps| grep $package_name) 15 if [[ -n $pid_list ]]; then 16 #

adb logcat 命令行用法

本文为转载.   作者 :万境绝尘  转载请著名出处 eclipse 自带的 LogCat 工具太垃圾了, 开始用 adb logcat 在终端查看日志; 1. 解析 adb logcat 的帮助信息 在命令行中输入 adb logcat --help 命令, 就可以显示该命令的帮助信息; [plain] view plaincopy [email protected]:~$ adb logcat --help Usage: logcat [options] [filterspecs] opti

adb logcat查看手机端日志

前言 做app测试,遇到异常情况,查看日志是必不可少的,日志如何输出到手机sdcard和电脑的目录呢?这就需要用logcat输出日志了以下操作是基于windows平台的操作:adb logcat | findlinux平台的操作可以把find改成grep: adb logcat | grepwindows上的dos里面是没grep指令的 logcat输出日志 1.把日志存入手机sdcard某个目录(前提是这个目录要是存在的) adb logcat -f /sdcard/danjie/danjie

adb - logcat

这篇的大部分内容是学习至<极客学院>的相关课程而来,因为学习后的实际使用过程中发现部分知识并没有讲解详细,所以决定结合自身实践,添补并总结一些相关内容. 好嘞~上菜! Android log系统 logcat是Android中的一个命令行工具,可以用于得到程序的log信息,获取的主要是java层和c++层. logcat命令格式 语法格式: adb shell logcat [<参数>]...[<优先级过滤>] PC端执行: >>> adb shell

adb进阶知识,如何过滤只查看某一个app的日志

前面大概学习了adb基础,但是adb的存在,在测试人员中究竟有什么必要,以及看log时,那么多的log,让我们看个屁啊,所以这一次,我决定一定要把adb这件事情搞清楚. 1.先来看最感兴趣的adb日志 首先来了解一共概念,安卓的日志有那些: Android 系统的日志分为两部分,底层的 Linux 内核日志输出到 /proc/kmsg,Android 的日志输出到 /dev/log.一般我们说的adb logcat看的都是android的日志 使用adb shell dmesg 可以能看Andr

Ubuntu 下 使用 adb logcat 显示 Android 日志

作者 : 万境绝尘  转载请著名出处 eclipse 自带的 LogCat 工具太垃圾了, 开始用 adb logcat 在终端查看日志; 1. 解析 adb logcat 的帮助信息 在命令行中输入 adb logcat --help 命令, 就可以显示该命令的帮助信息; [email protected]:~$ adb logcat --help Usage: logcat [options] [filterspecs] options include: -s Set default fil

Android adb logcat使用技巧

前言 新买的笔记本E431装了最新版的Eclipse,搞定了Android开发环境,但是logcat里查看东西竟然只显示level,没有错误的详细信息.我本身也不是一个愿意折腾图形界面,更喜欢纯命令行的操作,因此今天在明昊师兄的建议下,果断放弃Eclipse的logcat,投奔adb shell下执行logcat. adb logcat Android日志系统提供了logcat命令可以让我们跟踪和查看系统日志缓存区.基本语法如下: [adb] logcat [<option>]... [<

Android adb logcat用法详解

1. 解析 adb logcat 的帮助信息 在命令行中输入 adb logcat --help 命令, 就可以显示该命令的帮助信息; [plain] view plaincopy [email protected]:~$ adb logcat --help Usage: logcat [options] [filterspecs] options include: -s              Set default filter to silent. Like specifying fil