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 30ad291
          Action: "android.intent.action.MAIN"
          Category: "android.intent.category.LAUNCHER"

Key Set Manager:
  [com.example.hxplay]
      Signing KeySets: 6

Packages:
  Package [com.example.hxplay] (77b6418):
    userId=10162
    pkg=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==/lib
    primaryCpuAbi=null
    secondaryCpuAbi=null
    versionCode=1 minSdk=22 targetSdk=30
    versionName=1.0
    splits=[base]
    apkSigningVersion=2
    applicationInfo=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.hxplay
    supportsScreens=[small, medium, large, xlarge, resizeable, anyDensity]
    timeStamp=2024-06-14 11:41:48
    firstInstallTime=2024-05-30 09:25:32
    lastUpdateTime=2024-06-14 11:41:48
    signatures=PackageSignatures{e7b8cd7 version:2, signatures:[7d5302f9], past signatures:[]}
    installPermissionsFixed=true
    pkgFlags=[ DEBUGGABLE HAS_CODE ALLOW_CLEAR_USER_DATA TEST_ONLY ALLOW_BACKUP ]
    requested permissions:
      android.permission.INTERNET
      android.permission.WRITE_EXTERNAL_STORAGE: restricted=true
      android.permission.READ_EXTERNAL_STORAGE: restricted=true
      android.permission.MOUNT_UNMOUNT_FILESYSTEMS
      android.permission.ACCESS_NETWORK_STATE
      android.permission.ACCESS_FINE_LOCATION
      android.permission.CHANGE_WIFI_STATE
      android.permission.VIBRATE
      android.permission.WAKE_LOCK
      android.permission.SYSTEM_ALERT_WINDOW
      android.permission.ACCESS_COARSE_LOCATION
    install permissions:
      android.permission.INTERNET: granted=true
      android.permission.CHANGE_WIFI_STATE: granted=true
      android.permission.ACCESS_NETWORK_STATE: granted=true
      android.permission.VIBRATE: granted=true
      android.permission.WAKE_LOCK: granted=true
    User 0: ceDataInode=5999 installed=true hidden=false suspended=false stopped=false notLaunched=false enabled=0 instant=false virtual=false
      gids=[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: false

Package Changes:
  Sequence number=65
  User 0:
    seq=50, package=com.example.hxplay
    seq=51, package=me.liujia95.biliplayer
    seq=63, package=com.henry.basic
    seq=64, package=com.quectel.cardiagnosis


Dexopt state:
  [com.example.hxplay]
    path: /data/app/com.example.hxplay-qlCcki9YU3ev55oxihKtjQ==/base.apk
      arm64: [status=quicken] [reason=bg-dexopt]


Compiler stats:
  [com.example.hxplay]
     base.apk - 3032

Active 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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据资产治理与数据质量提升:构建完善的数据治理体系,确保数据资产的高质量与准确性

一、引言 随着信息技术的迅猛发展,数据已经成为企业和社会发展的重要资产。然而,数据资产的有效治理与数据质量的提升,是企业实现数字化转型、提升竞争力的关键。本文旨在探讨数据资产治理与数据质量提升的重要性,并提出构建完善…

开源高效API管理工具:RAP

RAP:简化API开发,提升团队协作效率- 精选真开源,释放新价值。 概览 RAP(RESTful API Project)是一个开源的API管理工具,由阿里巴巴团队开发并维护。它旨在帮助前后端开发人员通过一个统一的平台来设计、开…

Linux 按键输入实验

Linux 按键输入实验 1、添加 pinctrl 节点 首先修改在设备树里面添加关于按键的节点。I.MX6U-ALPHA 开发板上的 KEY 使用了 UART1_CTS_B 这个 PIN,打开 imx6ull-alientekemmc.dts,在 iomuxc 节点的 imx6ul-evk 子节点下创建一个名为“pinctrl_key”的子…

华为机考入门python3--(36)牛客36-字符串加密

分类:字符串 知识点: 判断一个元素是否在集合中 if char not in key_set 计算字母差 index ord(char) - ord(a) 题目来自【牛客】 # 生成加密表 def generate_cipher_table(key):key_set set()cipher_table ""# 去重for char in k…

TVBOX 最新版下载+视频源教程

下载链接 wx 搜索 Geek 前端 发送电视资源进行获取 操作教程

经典电源电路基础(变压-整流-滤波-稳压)

1.电源电路的功能和组成 电子电路中的电源一般是低压直流电,先把220v交流电变换成低压直流电,再用整流电路变成脉动的直流电,最后用滤波电路滤除掉脉动直流中的交流成分后才能得到直流电。有的电子设备对电源的质量要求很高,所以…

uniapp中unicloud接入支付宝订阅消息完整教程

经过无数次的尝试,终于还是让我做出来了 准备工作 设置接口加签方式 使用支付宝小程序订阅消息,首先要设置接口加签方式,需要下载支付宝开放平台密钥工具,按照步骤生成秘钥,然后按照支付宝设置密钥加签方式添加接口加签方式。 有一点需要注意的,因为要在云函数中使用,…

Flutter IOS 打包上架踩坑

前言 Flutter 作为一款跨平台的移动应用开发框架,凭借其高效、灵活和美观的特性,受到了越来越多开发者的青睐。 然而,当开发者们倾注心血完成 Flutter iOS 应用开发后,如何将应用成功上架至苹果商店(App Store&#…

摄影师在人工智能竞赛中与机器较量并获胜

摄影师在人工智能竞赛中与机器较量并获胜 自从生成式人工智能出现以来,由来已久的人机大战显然呈现出一边倒的态势。但是有一位摄影师,一心想证明用人眼拍摄的照片是有道理的,他向算法驱动的竞争对手发起了挑战,并取得了胜利。 迈…

[大模型]XVERSE-MoE-A4.2B Transformers 部署调用

XVERSE-MoE-A4.2B介绍 XVERSE-MoE-A4.2B 是由深圳元象科技自主研发的支持多语言的大语言模型(Large Language Model),使用混合专家模型(MoE,Mixture-of-experts)架构,模型的总参数规模为 258 亿…

树莓派等Linux开发板上使用 SSD1306 OLED 屏幕,bullseye系统 ubuntu,debian

Raspberry Pi OS Bullseye 最近发布了,随之而来的是许多改进,但其中大部分都在引擎盖下。没有那么多视觉差异,最明显的可能是新的默认桌面背景,现在是大坝或湖泊上的日落。https://www.the-diy-life.com/add-an-oled-stats-display-to-raspberry-pi-os-bullseye/ 通过这次操…

简易开发一个app

即时设计网站 即时设计 - 可实时协作的专业 UI 设计工具 需要先设计好UI界面 上传到codefun 首次需要安装 自动生成代码 打开hb软件 新建项目 打开创建的项目 删除代码 复制代码过去 下载图片 将图片放到文件夹里 改为这种格式 index.vue 如果不需要uni-app导航栏可以修改 …

Vue项目实践:使用滚动下拉分页优化大数据展示页面【通过防抖加标志位进行方案优化】

Vue项目实践:使用滚动下拉分页优化大数据展示页面 前言 传统的分页机制通过点击页码来加载更多内容,虽然直观,但在处理大量数据时可能会导致用户体验不佳。相比之下,滚动下拉分页能够在用户滚动到页面底部时自动加载更多内容&…

C++全栈聊天项目(22) 气泡聊天对话框

气泡聊天框设计 我们期待实现如下绿色的气泡对话框 对于我们自己发出的信息,我们可以实现这样一个网格布局管理 NameLabel用来显示用户的名字,Bubble用来显示聊天信息,Spacer是个弹簧,保证将NameLabel,IconLabel,Bubb…

Android中的Audio系统框架分析(一)

概述 Audio系统是Android 平台重要的组成部分,我们将从以下几个方面来讲解: 一Audio基础知识讲解 二、Android系统中Audio框架 Audio基础知识讲解 我们大家知道声音是由物体振动产生的声波。是通过介质(空气或固体、液体)传播并…

【C++高阶】C++继承学习手册:全面解析继承的各个方面

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C “ 登神长阶 ” 🤡往期回顾🤡:模板进阶 🌹🌹期待您的关注 🌹🌹 继承 📖1. 继承的概念及定义…

每日一练——用队列实现栈

225. 用队列实现栈 - 力扣&#xff08;LeetCode&#xff09; Queue.h #pragma once #include<stdlib.h> #include<assert.h> #include<stdbool.h>typedef int QDataType;typedef struct QNode {QDataType data;struct QNode* next; } QNode;typedef struct …

案例 采用Springboot默认的缓存方案Simple在三层架构中完成一个手机验证码生成校验的程序

案例 Cacheable 是 Spring Framework 提供的一个注解&#xff0c;用于在方法执行前先检查缓存&#xff0c;如果缓存中已存在对应的值&#xff0c;则直接返回缓存中的值&#xff0c;而不执行该方法体。如果缓存中不存在对应的值&#xff0c;则执行方法体&#xff0c;并将方法的…

hugo 博客写作流程 (二)

写作工具 推荐两款软件,本人都使用过: typora和obsidian typora: https://github.com/woniu336/typora-007 新建文章 在博客目录找到shell/quickstart.sh双击打开即可 发布到Github 前提: 魔法上网在Github新建一个仓库 找到shell/quickstart.sh双击打开,选择7.SSH 管理…

Android采用Scroller实现底部二楼效果

需求 在移动应用开发中&#xff0c;有时我们希望实现一种特殊的布局效果&#xff0c;即“底部二楼”效果。这个效果类似于在列表底部拖动时出现额外的内容区域&#xff0c;用户可以继续向上拖动查看更多内容。这种效果可以用于展示广告、推荐内容或其他信息。 效果 实现后的…
最新文章