ADB调试命令大全

2024-06-16 06:20
文章标签 命令 adb 调试 大全

本文主要是介绍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调试命令大全的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1065689

相关文章

JavaSE正则表达式用法总结大全

《JavaSE正则表达式用法总结大全》正则表达式就是由一些特定的字符组成,代表的是一个规则,:本文主要介绍JavaSE正则表达式用法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录常用的正则表达式匹配符正则表China编程达式常用的类Pattern类Matcher类PatternSynta

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方

postgresql数据库基本操作及命令详解

《postgresql数据库基本操作及命令详解》本文介绍了PostgreSQL数据库的基础操作,包括连接、创建、查看数据库,表的增删改查、索引管理、备份恢复及退出命令,适用于数据库管理和开发实践,感兴... 目录1. 连接 PostgreSQL 数据库2. 创建数据库3. 查看当前数据库4. 查看所有数据库

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

nginx启动命令和默认配置文件的使用

《nginx启动命令和默认配置文件的使用》:本文主要介绍nginx启动命令和默认配置文件的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录常见命令nginx.conf配置文件location匹配规则图片服务器总结常见命令# 默认配置文件启动./nginx

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1

IDEA如何实现远程断点调试jar包

《IDEA如何实现远程断点调试jar包》:本文主要介绍IDEA如何实现远程断点调试jar包的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录问题步骤总结问题以jar包的形式运行Spring Boot项目时报错,但是在IDEA开发环境javascript下编译

Java -jar命令如何运行外部依赖JAR包

《Java-jar命令如何运行外部依赖JAR包》在Java应用部署中,java-jar命令是启动可执行JAR包的标准方式,但当应用需要依赖外部JAR文件时,直接使用java-jar会面临类加载困... 目录引言:外部依赖JAR的必要性一、问题本质:类加载机制的限制1. Java -jar的默认行为2. 类加

git stash命令基本用法详解

《gitstash命令基本用法详解》gitstash是Git中一个非常有用的命令,它可以临时保存当前工作区的修改,让你可以切换到其他分支或者处理其他任务,而不需要提交这些还未完成的修改,这篇文章主要... 目录一、基本用法1. 保存当前修改(包括暂存区和工作区的内容)2. 查看保存了哪些 stash3. 恢

java -jar命令运行 jar包时运行外部依赖jar包的场景分析

《java-jar命令运行jar包时运行外部依赖jar包的场景分析》:本文主要介绍java-jar命令运行jar包时运行外部依赖jar包的场景分析,本文给大家介绍的非常详细,对大家的学习或工作... 目录Java -jar命令运行 jar包时如何运行外部依赖jar包场景:解决:方法一、启动参数添加: -Xb