Android 开发中脚本 提高效率工具
在安卓开发中我们常常需要获取日志,通常我们可以通过adb logcat 命令获取日志。同样,我没有可以通过脚本获取。其实质也是通过adb命令实现,只是把命名写入bat文件中,在win系统中直接双击就可以运行文件中的命令,而不需要我们在cmd中输入。下面分析几种获取日志的方法。
1.我们想抓取实时日志,当前小张会说我直接在androidstudio logcat里面就可以看了谁要用你的工具。老张抿嘴一笑,小样。有时候一些情况比如端口问题,或者日志堆积问题,导致我们有一天发现我们的logcat并没有输出日志,或者我们想把日志保留下来慢慢分析,毕竟有些问题并不是一眼就看出问题的。这时候我们可以运行这个工具,然后执行我们的操作。抓我们想要的日志。
adb wait-for-device
adb devices
adb shell logcat -v threadtime >"%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%log.txt"
pause
我们想把我们手机里面的日志,anr carsh 等等都取出来
@echo off
::V1.0 2021-1-18
::各个系统不同,可以根据需求添加或者删除不必要的目录下的数据获取
echo Version:Get Android All Log V1.0
echo.
echo currentTime:%time% Now %time:~0,2%:%time:~3,2%:%time:~6,2%:%time:~9,2%:@
set date_time="%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%_%time:~6,2%%time:~9,2%"
::设置显示的文件夹名称
set Folder="Logs_%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%_%time:~6,2%%time:~9,2%"
echo 日志文件夹:%Folder%
mkdir %Folder%
::获取root权限,下面pull一些隐私目录的数据需要root权限
adb remount
adb root
::创建文件夹
mkdir %Folder%\device
::获取系统的所有app服务
adb shell ps -A > %Folder%\device\ps.txt
::获取系统的cup等占用情况
adb shell top -b -n 1 > %Folder%\device\top.txt
::获取系统的cup前十个占用最多的进程信息
adb shell top -b -n 1 -H -m 10 -s 6 -o pid,tid,user,pr,ni,%%cpu,s,virt,res,pcy,cmd,name > %Folder%\device\top2.txt
::获取系统的进程内核信息
adb shell cat /proc/cmdline > %Folder%\device\cmdline.txt
::获取系统的进程内存占用信息
adb shell cat /proc/meminfo > %Folder%\device\meminfo.txt
::获取系统的cup信息
adb shell cat /proc/cpuinfo > %Folder%\device\cpuinfo.txt
::获取系统的prop属性信息
adb shell getprop > %Folder%\device\getprop.txt
::获取系统的内存大小信息
adb shell df -h > %Folder%\device\df.txt
::获取系统的当前界面截图
adb shell screencap /mnt/sdcard/Pictures/capture.png
adb pull /mnt/sdcard/Pictures/capture.png %Folder%\capture.png
::获取系统的dumpsys信息,包含dumpsys package XXX的信息
mkdir %Folder%\dumpsys
adb shell dumpsys > %Folder%\dumpsys\dumpsys.txt
::获取系统的缓存日志
adb shell logcat -v threadtime -d > %Folder%\logcat.txt
::获取系统的各目录下的日志,根据不同系统进适配
::系统Android日志
adb pull /data/misc/logm %Folder%\android_logs
::Dalvik、状态监视调试器、C层代码以及libc的一些问题导致的错误日志
adb pull /data/tombstones %Folder%\tombstones
::系统ANR异常日志
adb pull /data/anr %Folder%\anr
::系统内核日志
adb pull /sys/fs/pstore %Folder%\pstore
::系统内核应用程序崩溃数据
adb pull /data/system/dropbox %Folder%\dropbox
::系统??日志
adb pull /data/log/reliability %Folder%\reliability_system
adb pull /data/vendor/log/reliability %Folder%\reliability_vendor
::系统settings下的system、secure、global等属性
adb pull /data/system/users/0 %Folder%\settings
::获取系统的recovery信息
mkdir %Folder%\recovery
adb pull /splash2/recovery %Folder%\recovery
echo.
echo ==========log抓取完成==========
pause
adb pull 命令是取设备中的文件,取日志常用工具,基本上就是 adb pull 系统文件目录 这样可以把文件取出来。
其中android 系统日志 不同设备和手机厂商可能不一样,有些是data/android_log,这都不是重点,重点是只要我们知道日志在哪里,都可以通过adb pull 取出来。好啦,就分析到这里。
Android 开发中脚本 提高效率工具的更多相关文章
- NO.4 Android开发中常用框架及工具
android-pulltorefresh 一个强大的拉动刷新开源项目,支持各种控件下拉刷新ListView.ViewPager.WevView.ExpandableListView.GridView ...
- web开发中的 emmet 效率提升工具
web开发中的 emmet 效率提升工具 可以用来快速生成html 代码. 并且给各种IDE.编辑器提供了插件支持,sublime ,webstorm等. 如在webstorm中安装好emmet之后, ...
- Android 开发中,as或者idea对gradle的使用
原文:Android 开发中,as或者idea对gradle的使用 本文属于转载收藏,侵删,出处:私人博客 ---------------------------------------------- ...
- Android开发中,那些让您觉得相见恨晚的方法、类或接口
Android开发中,那些让你觉得相见恨晚的方法.类或接口本篇文章内容提取自知乎Android开发中,有哪些让你觉得相见恨晚的方法.类或接口?,其实有一部是JAVA的,但是在android开发中也算常 ...
- android开发中的5种存储数据方式
数据存储在开发中是使用最频繁的,根据不同的情况选择不同的存储数据方式对于提高开发效率很有帮助.下面笔者在主要介绍Android平台中实现数据存储的5种方式. 1.使用SharedPreferences ...
- Android开发中常见的设计模式
对于开发人员来说,设计模式有时候就是一道坎,但是设计模式又非常有用,过了这道坎,它可以让你水平提高一个档次.而在android开发中,必要的了解一些设计模式又是非常有必要的.对于想系统的学习设计模式的 ...
- Dagger2在Android开发中的应用
世界是普遍联系的,任何事物和个体都直接或间接相互依赖,在时空长河中共同发展.在面向对象的世界中,更是如此,类与类之间的依赖,关联关系,模块(亦或是分层架构中的层)之间的耦合关系,都是我们在软件开发实践 ...
- 讨论Android开发中的MVC设计思想
最近闲着没事,总是想想做点什么.在时间空余之时给大家说说MVC设计思想在Android开发中的运用吧! MVC设计思想在Android开发中一直都是一套比较好的设计思想.很多APP的设计都是使用这套方 ...
- 在 Android开发中,性能优化策略十分重要
在 Android开发中,性能优化策略十分重要本文主要讲解性能优化中的布局优化,希望你们会喜欢.目录 示意图 1. 影响的性能 布局性能的好坏 主要影响 :Android应用中的页面显示速度 2. 如 ...
- 在android开发中使用multdex的方法-IT蓝豹为你整理
Android系统在安装应用时,往往需要优化Dex,而由于处理工具DexOpt对id数目的限制,导致其处理的数目不能超过65536个,因此在Android开发中,需要使用到MultiDex来解决这个问 ...
随机推荐
- 突然连不上Github或者连接超时的解决办法
问题描述当进行仓库pull或者push时,报错如下(连接失败/被拒绝/超时等): Failed to connect to github.com port 443: Connection refuse ...
- ET介绍——为什么使用C# .net core做服务端?
为什么使用C# .net core做服务端? 游戏服务端从早期的单服到分布式,开发越来越复杂,对稳定性,开发效率要求越来越高.开发语言的选择也逐步发生了变化,C 到 C++ 到 C++ + PYTHO ...
- #状压dp,拓扑排序,内向基环树#CF1242C Sum Balance
题目 有 \(k\) 个盒子, 第 \(i\) 个盒子有 \(n_i\) 个数. 保证所有数互不相同. 从每个盒子各拿出一个数, 并按照某种顺序放回去(每个盒子恰好放入一个数). 判断是否能使操作后所 ...
- AtCoder Regular Contest 115(without F)
ARC115 A - Two Choices 题目传送门 分析 可以发现正确答案数量相同当且仅当 \(S_i\) xor \(S_j\) 所含有的 1 的数量为偶数. 再将这个简化一下,正确答案相同当 ...
- C# 关于e.Handled 的说明
e.Handled = false; KeyPressEventArgs.Handled 属性bai获取或设置一个值duzhi,该值指示是否dao处理zhuan过 KeyPress 事件.属性值类型: ...
- 兼容模式下导致数值类型发生隐式转换,SQL在生产上无法正常使用案例
兼容模式下导致数值类型发生隐式转换,SQL 在生产上无法正常使用案例 本文出处:https://www.modb.pro/db/403148 基于 MogDB 版本 V2.0.1 问题现象 厂商研发描 ...
- Spring-Cloud 组件之 Spring Cloud Eureka:服务注册与发现
Spring Cloud Eureka:服务注册与发现 SpringCloud学习教程 SpringCloud Spring Cloud Eureka是Spring Cloud Netflix 子项目 ...
- k8s 深入篇———— 编排[八]
前言 简单整理一下编排. 正文 一个deployment 例子: apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployme ...
- 重新点亮shell————管道和重定向[二]
前言 简单介绍一下管道和重定向. 正文 管道和信号一样,是进程通信的方式之一 管道符是"|",将前一个命令执行的结果传递给后面的命令. 比如说: ls -l | more 就是第一 ...
- 高云SOC芯片GW1NSR-LV4CQN48的ARM总线
高云SOC芯片GW1NSR-LV4CQN48的ARM总线 国产GOWIN高云出的一款芯片是GW1NSR-LV4CQN48PC7/I6,QN48封装,资源是4608,有10个18K BRAM,以及2个P ...