当前位置: 首页 > news >正文

adb 常用的命令总结

1、adb logcat 抓取日志

     adb logcat > d:\log.txt

     Ctrl+c    结束日志抓取

     adb logcat -c > d:\log.txt   清空旧日志

     发生Native Crash 时,抓取错误报告
      adb logcat -b crash 


 抓取筛选后的日志: adb logcat -s  AndroidRuntime > d:\log.txt

抓取所有LOG命令:adb logcat –v time > D:\log.txt

抓取应用层LOG命令:adb logcat –b main –v time >D:\main.txt

抓取死机、重启LOG命令: adb shell dumpsys > d:/dump.txt 

更多抓取日志命令参考  https://blog.csdn.net/wenzhi20102321/article/details/105861354
                                      https://www.bilibili.com/read/cv10022202/

2、查看系统进程

     adb shell ps 

     adb shell ps | find “包名” 过滤指定进程

3、使用命令行安装apk包

如果是连接了多个设备的话,就需要指定设备:adb -s 设备编号 install apk的完整路径
      如果是单设备,可以输入  adb install apk的完整路径;
      如:adb install C:\Users\31210\Downloads\XXX.apk,

覆盖安装:adb install -r xxxx.apk强制安装(覆盖安装时使用)

卸载包: adb uninstall 安装包包名
adb install -r ,-d 
adb install -r 替换已存在的应用程序,也就是说强制安装
adb install -l 锁定该应用程序
adb install -t 允许测试包
adb install -s 把应用程序安装到sd卡上
adb install -d 允许进行降级安装,也就是安装的比手机上带的版本低
adb install -g 为应用程序授予所有运行时的权限


4、打开android 系统设置页面
adb 启动应用

adb shell am start -n  包名/包名.ui.activity.MainActivity
adb shell am start -n package/launch activity

adb shell am start com.android.settings/.Settings

adb shell am start -n com.android.settings/.Settings$DevelopmentSettingsDashboardActivity

adb shell am start -a android.settings.SETTINGS

adb shell am start -a android.settings.BLUETOOTH_SETTINGS

 com.android.settings/.Settings$WifiAddActivity


联想设备系统应用
adb shell am start -n com.android.deskclock/.DeskClock       时钟
adb shell am start -n com.android.calculator2/.Calculator     计算器

打开系统应用访问权限页面
adb shell am start -a android.settings.USAGE_ACCESS_SETTINGS

5、打开网络adb 调试
adb tcpip 5555 (端口号)
adb connect  10.135.192.30(Android 设备IP地址)
断开网络adb调试
adb disconnect 10.135.192.30

6、查看所有已安装的软件包     adb shell pm list packages    
     查看系统包名             adb shell pm list packages -s 
     查看第三方安装包       adb shell pm list packages -3 

     adb shell pm list packages -f  输出包和包相关联的文件(安装路径)
     adb shell pm list packages -i  输出包和安装信息(安装来源)
     adb shell pm list packages -e  只输出启用的包

     查看所有被停用的软件包    adb shell pm list packages -d 
     列出应用包名及对应的apk名及存放位置         adb shell pm list package -f

     禁用系统内置应用:adb shell pm disable-user  应用包名

     开启系统内置应用:adb shell pm enable  应用包名

    screencap 截图命令     adb shell screencap -p /sdcard/screen.png

    screenrecord4.4 录制命令           adb shell screenrecord sdcard/record.mp4

   清除app缓冲
   adb shell pm clear com.shensz.student

7、输出包和安装信息(安装来源) adb shell pm list packages -i

8、强杀进程 adb shell am force-stop 包名
  
    查看当前设备所运行的包名 ,activity名 
    adb shell dumpsys window | findstr mCurrentFocus
    adb shell dumpsys activity activities | grep -i run
    查看应用版本号
    adb shell pm dump  com.google.android.inputmethod.pinyin | findstr version 

9、获取设备属性信息:  getprop

adb shell getprop ro.product.manufacturer    # 获取设备的厂商, 例如: HUAWEI
adb shell getprop ro.product.brand            # 获取设备的商标, 例如: HUAWEI
adb shell getprop ro.product.model            # 获取设备的型号, 例如: BLA-AL00

adb shell getprop ro.build.version.release    # 获取设备的 Android 版本, 例如: 8.1.0
adb shell getprop ro.build.version.sdk        # 获取设备的 SDK Version, 例如: 27

adb shell getprop ro.boot.serialno            # 获取设备的序列号, 例如: 8FE0917B20005668
adb shell getprop ro.board.platform           # 获取设备的 CUP 平台, 例如: kirin970


adb命令参考

https://blog.csdn.net/xietansheng/article/details/86675136
https://juejin.cn/post/6844903645289398280?utm_campaign=sembaidu&utm_medium=sem_baidu_jj_pc_dc01&utm_source=bdpcjjwz04776


10、adb 查看apk V1 V2签名

D:\Sdk\build-tools\29.0.2>apksigner verify -v C:\Users\yuhang\Desktop\FCDeviceGuard_1.00.28.apk

11、android 通过WIFI调试和adb指令推送文件到安卓设备

通过adb指令推送文件到设备
adb push D:\honor_logs.txt /sdcard/

12、adb shell dumpsys activity activities    #查看当前activity 所对应的ActivityRecord task栈结构

       adb shell dumpsys activity |  findstr mResumedActivity  查看当前栈顶可见Activity名

adb shell命令查看当前与用户交互的前台Activity
      adb shell dumpsys activity | grep -i run  列出的是你打开的页面(以最近打开为先进行排序)
      adb shell dumpsys activity top | grep ACTIVITY  列出的是你打开的页面(倒序方式排序)
      adb shell dumpsys window | grep mCurrentFocus

adb shell dumpsys window
adb shell dumpsys window | findStr "WINDOW"

adb shell dumpsys window | findstr mCurrentFocus 可以分析当前所处的页面和activity,可以 快速定位activity信息

adb shell dumpsys window -h adb shell dumpsys window w | findstr mCurrent

更多名称参考:https://www.jianshu.com/p/10cbdb6bbc2f

查询四大组件和进程
1.查询某个App所有的Service状态

adb shell dumpsys activity s com.android.settings

2.查询某个App所有的广播状态

adb shell dumpsys activity b com.android.settings

3.查询某个App所有的activity状态

adb shell dumpsys activity a com.android.settings

3.查询某个App所有的process状态

adb shell dumpsys activity p com.android.settings

adb shell dumpsys activity top 当前界面app状态

dumpsys activity oom 查看进程状态


https://www.jianshu.com/p/10cbdb6bbc2f


查看AMS cached清理设置
adb shell dumpsys activity settings  (https://www.cnblogs.com/1118zjg/p/16009908.html)

查看系统是否低内存(MemFree 和 MemAvailable 的值会很小)
adb shell cat proc/meminfo

只能查看java 进程
adb shell procrank

13、adb shell am start -W 包名/包名.ui.activity.MainActivity  app 启动时间

更新相关命令参考链接: https://www.cnblogs.com/Free-Thinker/p/14596179.html

14、查看仅授予的权限(但忽略被请求但未被授予的权限)
     adb shell dumpsys package com.ckl.launcher
更多参考链接:https://www.cnblogs.com/endv/p/11695330.html

15、adb 查看Android设备上的分区信息
C:\Users\yuhang>adb shell
X6C6F:/ $ df
 ,adb shell 进入linux命令行

4, adb 查看设备分辨率
C:\Users\yuhang>adb shell
X6C6F:/ $ wm size

输入wm density 查看dpi

16、adb 清除应用数据和缓冲
adb shell pm clear 包名

https://blog.csdn.net/roland_sun/article/details/50969958

17、
adb  shell ls mnt    查看所有设备存储设备名
adb remount    将 system 分区重新挂载为可读写分区
adb push    从本地复制文件到设备
adb pull    从设备复制文件到本地
adb shell ls    列出目录下的文件和文件夹
adb shell cd     进入文件夹
adb shell rm [-r]    删除文件(夹)
adb shell cat    查看文件内容
adb shell mkdir path/foldername    新建文件夹

https://www.it610.com/article/1298639711610404864.htm

18、adb查看应用程序内存使用情况
adb shell dumpsys meminfo <package_name>

adb shell dumpsys cpuinfo 
adb shell dumpsys cpuinfo <package_name>

19、android ANR 
 
-- 抓取bugreport 分析
adb shell bugreport 存放目录

--导入anr trances 分析
adb bugreport 不指定,默认为当前目录)

--BugReport 分析利器 ChkBugReport
https://www.lxiaoyu.com/p/329163
https://dev.mi.com/distribute/doc/details?pId=1127

20、adb 查看android手机中应用的包名和安装位置
-查看包安装位置
$ pm list packages -f
-查看包安装位置,并进行筛选
$ pm list packages -f | grep tencent


=========window 查询DNS记录及域名解析命令==========
1、查询DNS记录及域名解析命令 
      nslookup  baidu.com

2、读取本地DNS缓冲内容(查看操作系统自身的DNS缓存)
     ipconfig/displaydns

    2.1 查看Chrome自身的缓存  chrome://net-internals/#dns

3、本地DNS缓冲清理
     ipconfig/flushdns

DNS正向解析和反向解析
https://blog.csdn.net/qq_29677867/article/details/92586932
https://blog.51cto.com/13706760/2142598


4、读取Windows系统hosts文件:    C:\Windows\System32\drivers\etc  

=========window 查询DNS记录及域名解析命令==========

5、android  iptables 命令
iptables的工作原理   https://www.cnblogs.com/wangkangluo1/archive/2012/04/19/2457072.html
                               https://www.jianshu.com/p/c500dc5a13b0
                               https://www.jianshu.com/p/63aed7a9ca53
                               https://blog.csdn.net/qq_21816375/article/details/80546303

1、查看防火墙是否关闭  
     iptables -nvL

2、查看防火墙上的可用规则
   iptables -t filter --list

查看mangle表:

# iptables -t mangle --list
查看NAT表:

# iptables -t nat --list
查看RAW表:

# iptables -t raw --list

=========================================
命令_查看占用端:
windows:netstat -ano | findstr 8001(端口号)

更多命令参考:
https://blog.csdn.net/qq_26941173/article/details/80372733

10.135.192.176

抓系统日志:
adb shell am start -n com.debug.loggerui/com.debug.loggerui.MainActivity

adb pull data/debuglogger

adb shell am start -n  com.android.settings/.SubSettings

联想启用系统日志页面
在设置里的搜索框  输入####3333#
再通过 adb shell am start -n com.debug.loggerui/com.debug.loggerui.MainActivity

导出 anr traces 
adb pull data/anr


DropBoxManagerService 收集Crash异常
1、adb shell
    cd /data/system/dropbox
    ls -alt

参考链接:https://blog.csdn.net/a953210725/article/details/107562158

2、adb shell dumpsys dropbox
     adb shell dumpsys dropbox --print 2023-03-27 14:06:49 data_app_crash
     adb shell dumpsys dropbox --print 2023-03-27 14:06:49 system_app_crash

3、adb shell ls -l /data/system/dropbox


激活设备管理器  device owner

adb shell dpm set-device-owner 包名/ 包名.device.receiver.GuardAdminReceiver

adb shell dpm remove-active-admin com.android.jarvis/.receivers.JarvisAdminReceiver

查看apk 是否debug 包
adb shell dumpsys package 包名 | findstr flags

查看Android 设备上的服务进程是否存在
adb shell dumpsys activity services | grep -i "service"

相关文章:

adb 常用的命令总结

1、adb logcat 抓取日志 adb logcat > d:\log.txt Ctrlc 结束日志抓取 adb logcat -c > d:\log.txt 清空旧日志 发生Native Crash 时&#xff0c;抓取错误报告 adb logcat -b crash 抓取筛选后的日志&#xff1a; adb logcat -s AndroidRuntime > d:\log…...

Java发展过程中,JVM的演进

1. 初期的JVM&#xff08;Java 1.0 到 Java 1.1&#xff09; Java 1.0 于1996年发布&#xff0c;最初的JVM设计主要是为了跨平台兼容性和基本的垃圾回收功能。早期的JVM以解释执行字节码为主&#xff0c;性能相对较低。 2. 引入即时编译&#xff08;JIT&#xff09;&#xff…...

笔记:在Entity Framework Core中如何处理多线程操作DbContext

一、目的&#xff1a; 在使用Entity Framework Core (EF Core) 进行多线程操作时&#xff0c;需要特别注意&#xff0c;因为DbContext类并不是线程安全的。这意味着&#xff0c;你不能从多个线程同时使用同一个DbContext实例进行操作。尝试这样做可能会导致数据损坏、异常或不可…...

RabbitMQ 高级功能

RabbitMQ 是一个广泛使用的开源消息代理&#xff0c;它支持多种消息传递协议&#xff0c;可以在分布式系统中用于可靠的消息传递。除了基本的消息队列功能外&#xff0c;RabbitMQ 还提供了一些高级功能&#xff0c;增强了其在高可用性、扩展性和灵活性方面的能力。以下是一些主…...

软件架构之开发管理

软件架构之开发管理 第 13 章&#xff1a;开发管理13.1 项目的范围、时间与成本13.1.1 项目范围管理13.1.2 项目成本管理13.1.3 项目时间管理 13.2 配置管理与文档管理13.2.1 软件配置管理的概念13.2.2 软件配置管理的解决方案13.2.3 软件文档管理 13.3 软件需求管理13.3.1 需求…...

【Linux 基础】df -h 的输出信息解读

df -h 的输出信息 xxx:~$ df -h Filesystem Size Used Avail Use% Mounted on udev 16G 0 16G 0% /dev tmpfs 3.2G 792K 3.2G 1% /run /dev/sda1 32G 1.7G 30G 6% / tmpfs 16G 0 16G 0% /dev/shm tmp…...

南航秋招指南,线上测评和线下考试

南航秋招简介 南航作为国内一流的航空公司&#xff0c;对人才的需求量非常旺盛&#xff0c;每年也有很多专业对口的工作提供给应届毕业生&#xff0c;对于应届毕业生而言&#xff0c;一定要抓住任何一个应聘机会&#xff0c;并且在规定的范围内进行简历的提交&#xff0c;以便…...

用MATLAB绘制三向应力圆

% 定义主应力值 sigma1 100; % MPa sigma2 50; % MPa sigma3 -33; % MPa sigma_m1(sigma1 sigma3)/2; sigma_m2(sigma1 sigma2)/2; sigma_m3(sigma2 sigma3)/2; % 计算半径 r1 (sigma1 - sigma3) / 2; r2 (sigma1 - sigma2) / 2; r3 (sigma2 - sigma3…...

PyTorch 1-深度学习

深度学习-PyTorch 一: Pytorch1> pytorch简介2> PyTorch 特点&优势3> pytorch简史4> pytorch 库5> PyTorch执行流程6> PyTorch 层次结构二: PyTorch常用的高级API和函数1> 自动求导(Autograd)2> 模型容器(Module)3> 优化器(Optimizer)4&g…...

Hi3861鸿蒙开发环境搭建

1.1 安装配置Visual Studio Code 打开Download Visual Studio Code - Mac, Linux, Windows选择下载安装Windows系统的Visual Studio Code。 下载后进行安装。Visual Studio Code安装完成后&#xff0c;通过内置的插件市场搜索并安装开发所需的插件如图所示&#xff1a; 1.2 安…...

解决RedisTemplate配置JSON序列化后@Cacheable序列化仍然是JDK序列化的问题

问题现象 在参考网上的Redis集成后&#xff0c;配置了RedisTemplate的序列化&#xff0c;配置成功后Cacheable注解的缓存仍然是jdk的序列化&#xff0c;配置无效。 参考配置的类似代码&#xff1a; Bean("redisTemplate") public RedisTemplate<Object, Objec…...

人脸检测+调整分辨率+调整帧率

初始检测&#xff1a;只在视频的前几秒内进行一次人脸检测&#xff0c;以确定主持人的大致位置。计算裁剪框&#xff1a;基于检测到的主持人位置&#xff0c;计算一个以主持人面部为中心的固定裁剪框。视频裁剪&#xff1a;使用计算出的裁剪框对整个视频进行裁剪&#xff0c;将…...

C++相关概念和易错语法(19)(继承规则、继承下的构造和析构、函数隐藏)

1.继承规则 继承的本质是复用&#xff0c;是结构上的继承而不是内容上的继承&#xff0c;近似于在子类中声明了父类的成员变量。 &#xff08;1&#xff09;写法&#xff1a;class student : public person 派生类&#xff08;子类&#xff09;&#xff0c;继承方式&…...

使用GPT-4和ChatGPT构建应用项目

文章目录 项目1:构建新闻稿生成器项目2:YouTube视频摘要项目3:打造《塞尔达传说:旷野之息》专家项目4:语音控制项目1:构建新闻稿生成器 GPT-4和ChatGPT等LLM专用于生成文本。我们可以使用GPT-4和ChatGPT在各种场景中生成文本,举例如下。 电子邮件合同或正式文档创意写作…...

mobx学习笔记

mobx介绍 mobx是一个功能强大&#xff0c;上手容易的状态管理工具。MobX背后的哲学很简单:任何源自应用状态的东西都应该自动地获得。利用getter和setter来收集组件的数据依赖关系&#xff0c;从而在数据发生变化的时候精确知道哪些组件需要重绘。 mobx和redux的区别 mobx更…...

深入理解 Cowboy WebSocket:使用 Erlang/OTP 构建高效的即时通讯(IM)应用

深入理解 Cowboy WebSocket&#xff1a;使用 Erlang/OTP 构建高效的即时通讯(IM)应用 引言 实时通信技术在现代 Web 应用中扮演着核心角色&#xff0c;而 WebSocket 作为其中的关键技术&#xff0c;已成为即时通讯(IM)系统不可或缺的一部分。Cowboy&#xff0c;这个基于 Erla…...

算法的几种常见形式

算法&#xff08;Algorithm&#xff09; 算法&#xff08;Algorithm&#xff09;是指解决问题或完成任务的一系列明确的步骤或规则。在计算机科学中&#xff0c;算法是程序的核心部分&#xff0c;它定义了如何执行特定的任务或解决特定的问题。算法可以用多种方式来表示和实现…...

SpringBoot新手快速入门系列教程二:MySql5.7.44的免安装版本下载和配置,以及简单的Mysql生存指令指南。

我的教程都是亲自测试可行才发布的&#xff0c;如果有任何问题欢迎留言或者来群里我每天都会解答。 我们要如何选择MySql 目前主流的Mysql有5.0、8.0、9.0 主要区别 MySQL 5.0 发布年份&#xff1a;2005年特性&#xff1a; 基础事务支持存储过程、触发器、视图基础存储引擎…...

Elasticsearch 更新指定字段

Elasticsearch 更新指定字段 准备条件查询数据更新指定字段更新子级字段 准备条件 以下查询操作都基于索引crm_clue来操作&#xff0c;索引已经建过了&#xff0c;本文主要讲Elasticsearch更新指定字段语句&#xff0c;下面开始写更新语句执行更新啦&#xff01; 查询数据 查…...

Koa.js、Egg.js与Express.js:探析三大Node.js框架的异同

在Node.js的世界里&#xff0c;选择合适的框架对于构建高效、可维护的后端服务至关重要。Express.js、Koa.js 和 Egg.js 是三个备受欢迎的框架&#xff0c;它们各有特色&#xff0c;适用于不同的开发场景。本文旨在深入探讨这三个框架的区别&#xff0c;并通过代码示例帮助开发…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面&#xff0c;开源代码 作为一个电子罗盘模块&#xff0c;我们可以通过I2C从中获取偏航角yaw&#xff0c;相对于六轴陀螺仪的yaw&#xff0c;qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log&#xff0c;共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题&#xff0c;不能使用ELK只能使用…...

页面渲染流程与性能优化

页面渲染流程与性能优化详解&#xff08;完整版&#xff09; 一、现代浏览器渲染流程&#xff08;详细说明&#xff09; 1. 构建DOM树 浏览器接收到HTML文档后&#xff0c;会逐步解析并构建DOM&#xff08;Document Object Model&#xff09;树。具体过程如下&#xff1a; (…...

什么是EULA和DPA

文章目录 EULA&#xff08;End User License Agreement&#xff09;DPA&#xff08;Data Protection Agreement&#xff09;一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA&#xff08;End User License Agreement&#xff09; 定义&#xff1a; EULA即…...

Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理

引言 Bitmap&#xff08;位图&#xff09;是Android应用内存占用的“头号杀手”。一张1080P&#xff08;1920x1080&#xff09;的图片以ARGB_8888格式加载时&#xff0c;内存占用高达8MB&#xff08;192010804字节&#xff09;。据统计&#xff0c;超过60%的应用OOM崩溃与Bitm…...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生&#xff0c;我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要&#xff0c;而您认真负责的教学态度&#xff0c;让课程的每一部分都充满了实用价值。 尤其让我…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

如何在Windows本机安装Python并确保与Python.NET兼容

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…...

Python 高级应用10:在python 大型项目中 FastAPI 和 Django 的相互配合

无论是python&#xff0c;或者java 的大型项目中&#xff0c;都会涉及到 自身平台微服务之间的相互调用&#xff0c;以及和第三发平台的 接口对接&#xff0c;那在python 中是怎么实现的呢&#xff1f; 在 Python Web 开发中&#xff0c;FastAPI 和 Django 是两个重要但定位不…...