ADB调试命令大全
目录
- 前言
- 命令大全
- 1.显示当前运行的全部模拟器:adb devices
- 2.启动ADB: adb start-server
- 3.停止ADB: adb kill-server
- 4.安装应用程序: adb install -r [apk文件]
- 5.卸载应用程序: adb uninstall [packagename]
- 6.将手机设备中的文件copy到本地计算机:
- 7.将本地计算机的文件copy到手机设备中
- 8.查看adb命令帮助信息:adb help
- 9.截屏 adb shell screencap -p
- 10.查看指定包名应用的数据库储存信息(包括储存的SQL语句)
- 11.查看指定的进程或则进程id的内存信息
- 12.查看指定包名应用的详细信息(相当于AndroidMainfest.xml中内容)
- 13.查看当前应用的activity信息
- 14.查看bug报告:adb bugreport
- 15.列出手机装的所有apk包名
- 16.清除应用缓存信息:
- 17.通过adb启动应用程序页面
- 18、记录无线通讯日志
- 19、获取设备的ID和序列号:
- 20.导出设备信息
- 21.重启adb reboot
- 22.备份adb backup
前言
记录下adb命令,方便使用的时候查找
命令大全
1.显示当前运行的全部模拟器:adb devices
adb devices
List of devices attached
? device
2.启动ADB: adb start-server
3.停止ADB: adb kill-server
4.安装应用程序: adb install -r [apk文件]
-l 锁定该程序
-r 重新安装该程序,保存数据
-s 安装在SD卡内,而不是设备内部存储
例:adb install –r D:\mm.apk
5.卸载应用程序: adb uninstall [packagename]
例
adb uninstall com.tencent.mm
-k 不删除程序运行所产生的数据和缓存目录(如软件的数据库文件)
例:
adb uninstall -k com.tencent.mm
6.将手机设备中的文件copy到本地计算机:
adb pull 设备目录 本地目录
例:adb pull /sdcard/mm.txt D:(讲内存卡根目录的txt文件copy到D盘根目录)
7.将本地计算机的文件copy到手机设备中
adb push 本地目录 手机设备目录例:adb push D:\mm.txt /sdcard
8.查看adb命令帮助信息:adb help
9.截屏 adb shell screencap -p
-p 截图文件路径
例:
# screencap -p > /sdcard/screen.png
trinket:/ # cd sdcard/
trinket:/sdcard # ls
01.png Android Documents High_Load Music Pictures Ringtones mmi
Alarms DCIM Download Movies Notifications Podcasts dlt screen.png
10.查看指定包名应用的数据库储存信息(包括储存的SQL语句)
adb shell dumpsys dbinfo[packagename]
11.查看指定的进程或则进程id的内存信息
adb shell dumpsys meminfo[packagename/pid]可以查看进程当前的内存情况
例:adb shell dumpsys meminfo com.tencent.mm
12.查看指定包名应用的详细信息(相当于AndroidMainfest.xml中内容)
dumpsys package [packagename]
例:
dumpsys package com.example.hxplay
Activity Resolver Table:Non-Data Actions:android.intent.action.MAIN:478325c com.example.hxplay/.activity.SplashActivity filter 30ad291Action: "android.intent.action.MAIN"Category: "android.intent.category.LAUNCHER"Key Set Manager:[com.example.hxplay]Signing KeySets: 6Packages:Package [com.example.hxplay] (77b6418):userId=10162pkg=Package{a991e71 com.example.hxplay}codePath=/data/app/com.example.hxplay-qlCcki9YU3ev55oxihKtjQ==resourcePath=/data/app/com.example.hxplay-qlCcki9YU3ev55oxihKtjQ==legacyNativeLibraryDir=/data/app/com.example.hxplay-qlCcki9YU3ev55oxihKtjQ==/libprimaryCpuAbi=nullsecondaryCpuAbi=nullversionCode=1 minSdk=22 targetSdk=30versionName=1.0splits=[base]apkSigningVersion=2applicationInfo=ApplicationInfo{6de9456 com.example.hxplay}flags=[ DEBUGGABLE HAS_CODE ALLOW_CLEAR_USER_DATA TEST_ONLY ALLOW_BACKUP ]privateFlags=[ PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION ALLOW_AUDIO_PLAYBACK_CAPTURE ]dataDir=/data/user/0/com.example.hxplaysupportsScreens=[small, medium, large, xlarge, resizeable, anyDensity]timeStamp=2024-06-14 11:41:48firstInstallTime=2024-05-30 09:25:32lastUpdateTime=2024-06-14 11:41:48signatures=PackageSignatures{e7b8cd7 version:2, signatures:[7d5302f9], past signatures:[]}installPermissionsFixed=truepkgFlags=[ DEBUGGABLE HAS_CODE ALLOW_CLEAR_USER_DATA TEST_ONLY ALLOW_BACKUP ]requested permissions:android.permission.INTERNETandroid.permission.WRITE_EXTERNAL_STORAGE: restricted=trueandroid.permission.READ_EXTERNAL_STORAGE: restricted=trueandroid.permission.MOUNT_UNMOUNT_FILESYSTEMSandroid.permission.ACCESS_NETWORK_STATEandroid.permission.ACCESS_FINE_LOCATIONandroid.permission.CHANGE_WIFI_STATEandroid.permission.VIBRATEandroid.permission.WAKE_LOCKandroid.permission.SYSTEM_ALERT_WINDOWandroid.permission.ACCESS_COARSE_LOCATIONinstall permissions:android.permission.INTERNET: granted=trueandroid.permission.CHANGE_WIFI_STATE: granted=trueandroid.permission.ACCESS_NETWORK_STATE: granted=trueandroid.permission.VIBRATE: granted=trueandroid.permission.WAKE_LOCK: granted=trueUser 0: ceDataInode=5999 installed=true hidden=false suspended=false stopped=false notLaunched=false enabled=0 instant=false virtual=falsegids=[3003]runtime permissions:android.permission.ACCESS_FINE_LOCATION: granted=false, flags=[ USER_SENSITIVE_WHEN_GRANTED|USER_SENSITIVE_WHEN_DENIED]android.permission.READ_EXTERNAL_STORAGE: granted=true, flags=[ USER_SENSITIVE_WHEN_GRANTED|USER_SENSITIVE_WHEN_DENIED|RESTRICTION_INSTALLER_EXEMPT]android.permission.ACCESS_COARSE_LOCATION: granted=false, flags=[ REVOKE_WHEN_REQUESTED|USER_SENSITIVE_WHEN_GRANTED|USER_SENSITIVE_WHEN_DENIED]android.permission.WRITE_EXTERNAL_STORAGE: granted=true, flags=[ USER_SENSITIVE_WHEN_GRANTED|USER_SENSITIVE_WHEN_DENIED|RESTRICTION_INSTALLER_EXEMPT]
isSystemUserPackagesBlacklistSupported: falsePackage Changes:Sequence number=65User 0:seq=50, package=com.example.hxplayseq=51, package=me.liujia95.biliplayerseq=63, package=com.henry.basicseq=64, package=com.quectel.cardiagnosisDexopt state:[com.example.hxplay]path: /data/app/com.example.hxplay-qlCcki9YU3ev55oxihKtjQ==/base.apkarm64: [status=quicken] [reason=bg-dexopt]Compiler stats:[com.example.hxplay]base.apk - 3032Active APEX packages:Inactive APEX packages:Factory APEX packages:APEX session state:
13.查看当前应用的activity信息
adb shell dumpsys activity top
14.查看bug报告:adb bugreport
adb bugreport
/data/user_de/0/com.android.shell/files/bugreports/bugrepo...ile pulled, 0 skipped. 59.2 MB/s (5367286 bytes in 0.087s)
Bug report copied to C:\Users\henry.xue\bugreport-trinket-QKQ1.200816.002-2024-06-15-16-10-59.zip
15.列出手机装的所有apk包名
adb shell pm list packages
系统应用:adb shell pm list packages -s
第三方应用:adb shell pm list packages -3
使用grep过滤 :adb shell pm list packages | grep tencent
16.清除应用缓存信息:
adb shell pm clear [packagename]
17.通过adb启动应用程序页面
adb shell am start -n[包名+activity名]
例:
adb shell am start -n com.tencent.mm/.ui.SplashAcitvity
强制停止应用有些时候应用卡死了,需要强制停止,则执行以下命令:
adb shell am force-stop // 如:adb shell am force-stop cn.androidstar.demo
18、记录无线通讯日志
一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:
adb shell logcat -b radio
19、获取设备的ID和序列号:
获取设备的 ID(设备号):adb devices -l
获取设备的序列号(Serial Number):adb shell getprop ro.serialno
adb devices -l
List of devices attached
GCQ5T18B06028271 device product:EVR-AL00 model:EVR_AL00 device:HWEVR transport_id:4
adb shell getprop ro.serialno
GCQ5T18B06028271
20.导出设备信息
adb get-serialno > 序列号.txt
adb shell cat /sys/class/net/wlan0/address > MAC地址.txt
adb shell getprop ro.product.model > 设备型号.txt
adb shell getprop ro.build.version.release> 系统版本.txt
adb shell pm list packages -s > 系统应用的所有包名.txt
adb shell pm list packages -3 > 第三方应用包名.txt
adb shell wm size > 屏幕分辨率.txt
adb shell wm density > 屏幕密度.txt
adb shell cat /proc/cpuinfo > CPU信息.txt
adb shell pm list permissions -f > 权限.txt
adb shell pm list users -f > 用户.txt
21.重启adb reboot
22.备份adb backup
[-f ] [-apk|-noapk][-shared|-noshared] [-all] [-system|nosystem] [ ]
例:
adb backup -f mm.ab -noapk -noshared -nosystemcom.tencent.mm
可以使用的最基本的命令是很简单的 adb backup -all 它将使用默认方式备份应用和设备的数据(不包含apk)到当前目录下并保存为文件backup.ab
这个命令有可能不对每个设置都有效,如果出现像这种 "adb: cannot open file ./backup.ab"的错误,使用 adb backup -all -fC:\backup.ab来代替,其中路径C:\可根据喜好替换 对各个参数的解释: -f 用这个来选择备份文件存储在哪里,
例如-f /backup/mybackup.ab将会使文件存储在根磁盘(Windows的C盘等等)下一个名为backup的文件夹里,并且备份文件名为mybackup.ab -apk|-noapk 这个决定是否在备份里包含apk或者仅仅只备份应用数据,个人推荐使用-apk以免有的应用在应用市场找不到,如果不使用则默认的是-noapk -shared|-noshared 这个参数用于决定是否备份设备共享的SD card内容,默认是-noshare,主要包括内部存储中的音乐、图片和视频,因此为保险起见,建议加上-share -all 这个参数是一种简单地表达“所有应用”的说法,package参数可以选择备份单独的应用,如果不是备份某个应用,使用-all备份整个系统 -system|-nosystem 这个参数决定-all标签是否包含系统应用,默认的是-system,根据情况可选择是否用-nosystem
相关文章:
ADB调试命令大全
目录 前言命令大全1.显示当前运行的全部模拟器:adb devices2.启动ADB: adb start-server3.停止ADB: adb kill-server4.安装应用程序: adb install -r [apk文件]5.卸载应用程序: adb uninstall [packagename]6.将手机设备中的文件copy到本地计…...
查看npm版本异常,更新nvm版本解决问题
首先说说遇见的问题,基本上把nvm,npm的坑都排了一遍 nvm版本导致npm install报错 Unexpected token ‘.‘install和查看node版本都正确,结果查看npm版本时候报错 首先就是降低node版本… 可以说基本没用,如果要降低版本的话&…...
计算机行业
计算机行业环境分析 2022.01.12 计算机行业环境分析 计算机专业就业前景 随着科技的进步和信息事业的发展,尤其是计算机技术的发展与网络应用的逐渐普及。计算机已成为人们工作和生活中不可缺少的东西。IT行业迅猛发展,就业工作岗位也比比皆是。在最近…...
各种机器学习算法的应用场景分别是什么(比如朴素贝叶斯、决策树、K 近邻、SVM、逻辑回归最大熵模型)?
2023简直被人工智能相关话题席卷的一年。关于机器学习算法的热度,也再次飙升,网络上一些分享已经比较老了。那么今天借着查询和学习的机会,我也来浅浅分享下目前各种机器学习算法及其应用场景。 为了方便非专业的朋友阅读,我会从算…...
SQLite JDBC驱动程序
SQLite JDBC驱动程序下载地址: 下载地址...
Postgre 调优工具pgBadger部署
一,简介: pgBadger(日志分析器)类似于oracle的AWR报告(基于1小时,一天,一周,一月的报告),以图形化的方式帮助DBA更方便的找到隐含问题。 pgbadger是为了提高…...
【云原生】Kubernetes----Helm包管理器
目录 引言 一、Helm概述 1.Helm价值概述 2.Helm的基本概念 3.Helm名词介绍 二、安装Helm 1.下载二进制包 2.部署Helm环境 3.添加补全信息 三、使用Helm部署服务 1.创建chart 2.查看文件信息 3.安装chart 4.卸载chart 5.自定义chart服务部署 6.版本升级 7.版本…...
Bootstrap 5 进度条
Bootstrap 5 进度条 引言 Bootstrap 5 是目前最流行的前端框架之一,它提供了一套丰富的组件和工具,帮助开发者快速构建响应式、移动设备优先的网页。在本文中,我们将重点探讨 Bootstrap 5 中的进度条组件,包括其基本用法、定制选…...
MySQL查询数据库中所有表名表结构及注释以及生成数据库文档
MySQL查询数据库中所有表名表结构及注释 生成数据库文档在后面!!! select t.TABLE_COMMENT -- 数据表注释 , c.TABLE_NAME -- 表名称 , c.COLUMN_COMMENT -- 数据项 , c.COLUMN_NAME -- 英文名称 , -- 字段描述 , upper(c.DATA_TYPE) as …...
Redis缓存穿透、缓存雪崩和缓存击穿的解决方案
Redis缓存穿透、缓存雪崩和缓存击穿的解决方案 引言 Redis作为当前非常流行的内存数据结构存储系统,以其高性能和灵活性被广泛应用于缓存、消息队列、排行榜等多种场景。然而,在实际使用过程中,可能会遇到缓存穿透、缓存雪崩和缓存击穿等问…...
如何解决javadoc一直找不到路径的问题?
目录 一、什么是javadoc二、javadoc为什么会找不到路径三、如何解决javadoc一直找不到路径的问题 一、什么是javadoc Javadoc是一种用于生成Java源代码文档的工具,它可以帮助开发者生成易于阅读和理解的文档。Javadoc通过解析Java源代码中的注释,提取其…...
redis 笔记2之哨兵
文章目录 一、哨兵1.1 简介1.2 实操1.2.1 sentinel.conf1.2.2 问题1.2.3 哨兵执行流程和选举原理1.2.4 使用建议 一、哨兵 1.1 简介 上篇说了复制,有个缺点就是主机宕机之后,从机只会原地待命,并不能升级为主机,这就不能保证对外…...
LVS+Keepalived NGINX+Keepalived 高可用群集实战部署
Keepalived及其工作原理 Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以解决静态路由出现的单点故障问题。 VRRP协议(虚拟路由冗余协议) 是针对路由器的一种备份解决方案由多台路由器组成一个热备组,通过共用的…...
Mybatis做批量操作
动态标签foreach,做过批量操作,但是foreach只能处理记录数不多的批量操作,数据量大了后,先不说效率,能不能成功操作都是问题,所以这里讲一讲Mybatis正确的批量操作方法: 在获取opensession对象…...
Python | 中心极限定理介绍及实现
统计学是数据科学项目的重要组成部分。每当我们想从数据集的样本中对数据集的总体进行任何推断,从数据集中收集信息,或者对数据集的参数进行任何假设时,我们都会使用统计工具。 中心极限定理 定义:中心极限定理,通俗…...
探索Napier:Kotlin Multiplatform的日志记录库
探索Napier:Kotlin Multiplatform的日志记录库 在现代软件开发中,日志记录是不可或缺的部分,它帮助开发者追踪应用的行为和调试问题。对于Kotlin Multiplatform项目而言,能够在多个平台上统一日志记录的方法显得尤为重要。Napier…...
MySQL基础——SQL语句
目录 1.SQL通用语法 2.SQL分类 3 DDL 3.1数据库操作 3.1.1查询 3.1.2创建 3.1.3删除 3.1.4使用 3.2表操作 3.2.1查询 3.2.2创建 3.2.3数据类型 3.2.4表修改(alter打头) 3.2.5表删除(drop/truncate打头) 3.3 DDL总结…...
比特币通用API服务
Bitcoin 通用API服务 exlectrs: API后台服务(Rust语言编写) https://github.com/Blockstream/electrs.git 使用electr作为后台的区块链浏览器:https://github.com/Blockstream/esplora.git https://github.com/Blockstream/electrs https://github.com/romanz/electrs/blo…...
Spock mock私有方法
mock私有方法 被测试的方法是MiddleGroundAppListBO类下的getPromptIdKeyAppPromptInfoMap方法 private Map<Long, AppPromptInfoModel> getPromptIdKeyAppPromptInfoMap(String cubeAppIdentity) {List<AppPromptInfoDO> promptByApp knowledgeCubeQueryR…...
网络协议四
一、云中网络 物理机的劣势: 1)一旦需要扩容 CPU、内存、硬盘,都需要去机房手动弄,非常麻烦 2)采购的机器往往动不动几百 G 的内存,而每个应用往往可能只需要 4 核 8G 3)一台机器,…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...
阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...
算法:模拟
1.替换所有的问号 1576. 替换所有的问号 - 力扣(LeetCode) 遍历字符串:通过外层循环逐一检查每个字符。遇到 ? 时处理: 内层循环遍历小写字母(a 到 z)。对每个字母检查是否满足: 与…...
C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...
Linux系统部署KES
1、安装准备 1.版本说明V008R006C009B0014 V008:是version产品的大版本。 R006:是release产品特性版本。 C009:是通用版 B0014:是build开发过程中的构建版本2.硬件要求 #安全版和企业版 内存:1GB 以上 硬盘…...
深入理解Optional:处理空指针异常
1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...
