内网使用adb工具使用logcat进行日志分析

news2024/9/25 17:20:14

WorkTool自动化团队

  • 问题发现
  • 正文
  • 总结

问题发现

我们在平时的安卓项目开发中,看日志和调试肯定都是通过 Android Studio 进行实时日志查看和过滤,但如果是部署在内网机器或其他原因不能方便的安装 Android Studio 想查看实时日志就有一定的困难,当然我们也可以使用本地存储运行日志并将日志文件通过网络传输出去或者使用 adb 工具将文件导出后查看,但是总会存在一些不方便。

找到一种不依赖 Android Studio 又方便查看实时日志的方法就很重要了,大部分人都知道安卓设备自带 logcat,只要使用 adb 工具就可以在内网机器连接到手机查看实时日志,本文提供一些 logcat 使用中遇到的问题,方便大家直接使用。
要解决的问题:

  1. adb locat 后中文乱码
  2. 过滤出指定应用包名的日志
  3. 打印指定日志等级(及以上)的日志

正文

内网环境:Windows Server 2019
工具:cmd + adb (adb工具包需要提前拷贝到机器上)

打开 CMD 命令行
在内网机器上打开 cmd 并 cd 到 adb.exe 目录,本例中 adb.exe 在 cd D:\leidian\ldyun

# 命令行中输入
D:
cd D:\leidian\ldyun

在这里插入图片描述在这里插入图片描述
目录已经改为 adb.exe 所在目录

解决中文乱码
修改代码页编号 65001,仅临时有效,已经可以满足需求了

# 命令行中输入
chcp 65001

如果未修改会出现中文乱码,如图
在这里插入图片描述

查看已连接设备

# 命令行中输入
adb devices

在这里插入图片描述
因为我这里有多台设备,所以之后执行 adb 命令需要指定设备(adb -s [设备名]),本例指定 emulator-5554 这台设备

查看应用的进程pid
本例应用包名为 org.yameida.worktool,用安卓设备的 ps 查询进程并过滤包名得到 pid

# 命令行中输入
adb -s emulator-5554 shell ps | find "org.yameida.worktool"

在这里插入图片描述
第二个值 24538 即是我们需要的进程pid

过滤出应用日志
使用进程pid,过滤出该应用的实时日志,默认是打印所有日志等级

# 命令行中输入
adb -s emulator-5554 logcat | find "24538"

打印指定日志等级
打印指定日志等级(及以上)的日志,等级分为
V、D、I、W、E 等级依次提高,通常我们打印 debug 及以上日志使用较多

# 命令行中输入
adb -s emulator-5554 logcat *:V | find "24538"
adb -s emulator-5554 logcat *:D | find "24538"
adb -s emulator-5554 logcat *:I | find "24538"
adb -s emulator-5554 logcat *:W | find "24538"
adb -s emulator-5554 logcat *:E | find "24538"

# 常用打印 debug 及以上等级日志
adb -s emulator-5554 logcat *:D | find "24538"

现在查看日志和在 Android Studio 中查看体验一样了

总结

在客户机上使用 adb 工具来进行日志是非常方便的,避免了安装繁重的 Android Studio 和占用机器资源,尤其是内网环境则更会遇到各种问题。喜欢可以关注我~有问题可以留言或私信我。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/31810.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

擎创技术流 | ClickHouse实用工具—ckman教程(4)

《使用CKman导入集群》 CKman(ClickHouse Manager)是由擎创科技自主研发的一款管理ClickHouse的工具,前端用Vue框架,后端使用Go语言编写。它主要用来管理ClickHouse集群、节点以及数据监控等,致力于服务ClickHouse分布…

双软企业认定需要什么条件

认定双软企业的好处 1、税收优惠:所得税两免三减半。双软认证企业,自获利年度起,第一年和第二年免征企业所得税,第三年至第五年减半征收企业所得税。 增值税超过3%的部分即征即退。 2、政策支持:各地政府对于科研专项资金、税收减免科技计划、…

哈希表【数据结构】

文章目录哈希表概念插入元素搜索元素结构冲突概念冲突-避免哈希函数设计常见哈希函数调节负载因子负载因子定义负载因子和冲突率的关系冲突解决冲突-解决-闭散列线性探测过程缺点二次探测概念缺点冲突-解决-开散列/哈希桶概念结构代码实现哈希桶hashcode 和 equals问题面试题&a…

Metabase学习教程:视图-2

线型图指南 当我们谈论线型图时,我们谈论的多数是:时间序列、趋势线、警报等等。 线型图对于绘制在序列中捕获的数据非常有用,无论该序列是时间的流逝,还是流程或流中的步骤。这些图表通常用于绘制时间序列(也称为运…

语义分割实战:基于tensorflow搭建DeeplabV3实现语义分割任务

任务描述: 语义分割是一种典型的计算机视觉问题,其是将一些图像作为输入并将它们转换为具有突出显示的感兴趣区域的掩模,即图像中的每个像素根据其所属的感兴趣对象被分配类别。如下图中左图所示,其语义是人骑自行车,语义分割的结果如右图所示,粉红色代表人,绿色代表自行…

ssm基于安卓android的失物招领APP-计算机毕业设计

技术介绍 开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 安卓框架&#x…

Qt MainWindow窗口部件简介

Qt MainWindow窗口部件简介 1、菜单栏 特性如下: 有且仅有一个**位置:**顶部 // 创建菜单 最多只能有一个 QMenuBar * bar menuBar(); // 将菜单栏放入到窗口处 setMenuBar(bar);// 创建顶部菜单 QMenu * fileMenu bar->addMenu("文件&quo…

用DIV+CSS技术制作一个简单的网页 我的家乡主题

家乡旅游景点网页作业制作 网页代码运用了DIV盒子的使用方法,如盒子的嵌套、浮动、margin、border、background等属性的使用,外部大盒子设定居中,内部左中右布局,下方横向浮动排列,大学学习的前端知识点和布局方式都有…

redis三(3-2)

传统缓存的问题 传统的缓存策略一般是请求到达Tomcat后,先查询Redis,如果未命中则查询数据库,存在下面的问题: 请求要经过Tomcat处理,Tomcat的性能成为整个系统的瓶颈Redis缓存失效时,会对数据库产生冲击…

【Java八股文总结】之读写分离分库分表

文章目录读写分离&分库分表一、读写分离1、何为读写分离2、读写分离会带来什么问题?如何解决?3、如何实现读写分离?4、主从复制原理二、分库分表1、为什么要进行分库分表?2、何为分库?3、何为分表?★4、…

Github+Markdown(1)

报错配置 如果报错如下:Failed to connect to github.com port 443: Timed out 解决方案: 在C:\Users\m00585487\.gitconfig文件中,添加如下内容 [http "https://github.com"] proxy http://m00585487:J!f42022proxyhk.huawei…

基础SSM框架搭建

SSM框架一、注入依赖二、配置web.xml三、springmvc-common.xml配置四、mybatis-config.xml配置五、log4j.properties日志文件配置六、jdbc.properties连接信息七、applicationContext.xml配置八、UserDao.xml案例九、UserService接口十、UserServiceImpl实现十一、MyConverter十…

【表白程序】盛开的玫瑰代码

我挥舞着键盘和本子,发誓要把世界写个明明白白。 今天带来的是盛开的玫瑰,希望大家喜欢! 简介 HTML5 SVG线条玫瑰花动画特效是一款基于svg绘制卡通玫瑰花动画,先用线条勾画出花的现状,在生成颜色过程特效。 利用所学…

如何提取图片中文字?安利这几个图片转文字提取的方法

在我们工作学习中,有没有遇到过需要将图片中的文字信息给记录下来的情况,一般这种时候你是怎么做的呢?是根据图片手动输入吗?如果是在文字少量的情况下,可以这样操作,可是如果文字较多的话,手动…

iOS 16.1新功能尝鲜:如何在iPhone上启用实时活动?

近日,苹果发布了iOS 16.1正式版,在本次更新中,苹果推出了全新“实时活动”功能,用户能在iPhone锁定屏幕上查看到更多信息,如果是iPhone 14 Pro机型,实时活动信息还将在灵动岛同步显示。 那么,i…

用HTML+CSS+JS做一个漂亮简单的游戏网页——全屏游戏美术大赛作品(4个滚动页面)

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

[论文阅读] Adversarial Learning for Semi-Supervised Semantic Segmentation

[论文地址] [代码] [BMVC 18] Abstract 我们提出了一种使用对抗性网络进行半监督性语义分割的方法。虽然大多数现有的判别器都是在图像层面上对输入图像进行真假分类的训练,但我们以完全卷积的方式设计了一个判别器,以区分预测的概率图和考虑到空间分辨…

盘点一下分布式模式下的服务治理和监控优化方案

什么是服务治理? 相信每一个软件公司(企业)都希望可以确保开发及项目运行流程可以顺利,但是如果要完美完结那么需要其中会有很多的因素存在。包括,最佳实践、架构原则、服务治理以及其他决定性的因素。而其中服务治理…

网络入侵检测 Network Intrusion Detection System (NIDS)

网络入侵检测 Network Intrusion Detection System--NIDS网络入侵检测 Network Intrusion Detection System (NIDS)1.学习内容2.数据集说明3.NIDS组件4.基于SDN的网络入侵检测5.实验步骤下载数据集下载代码配置环境结构目录运行程序训练结果6.总结参考论文数据集申明&#xff1…

JVM垃圾回收——CMS垃圾收集器

目录 一、什么是CMS垃圾收集器 二、CMS垃圾收集的过程 三、CMS收集器的不足 四、CMS收集器的参数配置 一、什么是CMS垃圾收集器 虽然HotSpot虚拟机已经在jdk14中移除了CMS垃圾收集的参数,但是考虑到还有很多开发是基于jdk8开发的,所以还是有必要了解…