adb常用指令合集

news2024/12/25 14:26:05

adb文件管理指令

1.复制设备里的文件到电脑

adb pull <设备里的文件路径> [电脑上的目录]
电脑上的目录 参数可以省略,默认复制到当前目录

例:adb pull /data/tsplogtool /home/jxq/文档/场景魔方

2.复制电脑里的文件到设备

adb push <电脑上的文件路径> <设备里的目录>

例:adb push 1.png /mnt/user/10/emulated/10/Movies

3.列出指定目录的内容
adb shell ls [options] <directory>

[options] 显示列表

  • 无 列出目录下的所有文件和目录
  • -a 列出目录下的所有文件(包括隐藏的)
  • -i 列出目录下的所有文件和索引编号
  • -s 列出目录下的所有文件和文件大小
  • -n 列出目录下的所有文件及其 UID和 GID
  • -R 列出目录下的所有子目录中的文件
  1. 切换到目标目录
    adb shell cd <directory>

5.删除文件或目录
adb shell rm [options] <files or directory>
[options] 显示列表

  • 无 删除文件
  • -f 强制删除文件,系统不提示
  • -r 强制删除指定目录中的所有文件和子目录
  • -d 删除指定目录,即使它是一个非空目录
  • -i 交互式删除,删除前提示
  1. 创建目录
    adb shell mkdir [options] <directory-name>
  • 无 创建指定目录
  • -m 创建指定目录并赋予读写权限
  • -p 创建指定目录及其父目录

7.输出当前目录路径
adb shell pwd

8.复制文件和目录
adb shell cp [options] <source> <dest>

  • source:源文件路径
  • dest: 目标文件路径

9.移动或重命名文件
adb shell mv [options] <source> <dest>

  • source:源文件路径
  • dest: 目标文件路径

adb查看和查询xxx指令

1.查看日志

Android 的日志分为如下几个优先级(priority):按某级别过滤日志则会将该级别及以上的日志输出

V —— Verbose(最低,输出得最多)
D —— Debug I —— Info
W —— Warning
E —— Error
F—— Fatal
S —— Silent(最高,啥也不输出)

(1)打印日志
adb logcat | grep "Exception"   --打印仅含"Exception"的日志
adb logcat *:W        --打印严重级别W及以上的日志
adb logcat -c && adb logcat -s ActivityManager | grep "Displayed”   --客户端程序启动时间获取
adb logcat -s "Tag" --输出指定Tag的日志信息

(2)清空日志
adb logcat -c

(3)将日志输出到文件
adb logcat > file-path

2.查看四大组件
(1)查看top Activity
adb shell dumpsys activity top | grep ACTIVITY

(2)查看前台 Activity命令
adb shell dumpsys activity activities | grep mResumedActivity

(3)查看正在运行的 Services命令:
adb shell dumpsys activity services [<packagename>]

(4)查看应用详细信息命令:
adb shell dumpsys package <packagename>

3.查看设备
(1)内存信息
adb shell cat /proc/meminfo

(2)手机系统信息
adb shell "cat /system/build.prop | grep "product""

(3)手机系统版本
adb shell getprop ro.build.version.release

(4)手机系统api版本
adb shell getprop ro.build.version.sdk

(5)手机设备型号
adb -d shell getprop ro.product.model

(6)手机厂商名称
adb -d shell getprop ro.product.brand

(7)手机存储信息
adb shell df
获取手机内部存储信息:
魅族手机: adb shell df /mnt/shell/emulated
其他: adb shell df /data
获取sdcard存储信息:
adb shell df /storage/sdcard

(8)手机分辨率
adb shell "dumpsys window | grep mUnrestrictedScreen"

(9)手机物理密度
adb shell wm density

(9)系统应用
adb shell pm list packages -s

(9)系统第三方应用
adb shell pm list packages -3

(10)包名包含某字符串的应用
使用 grep 过滤(windows 改用 findstr):
adb shell pm list packages | grep jingdong

(11)应用安装路径
adb shell pm path <PACKAGE>

4.查看文件

adb shell ls -l
对目录下包含的内容列举出来。

adb shell ls -a /sdcard/Download
显示sdcard路径下的所有文件(包括隐藏的)

5.查看当前界面信息

adb shell dumpsys window:
在dump出来的信息中,mCurrentFocus字段后面就是当前界面的一些信息,如Activity的名称等。

6.查看触摸信息

adb shell getevent:
其中的0035和0036分别对应触摸点的x和y坐标 。输出如下内容:
在这里插入图片描述

7.查看系统最近处理过的广播

adb shell dumpsys activity broadcasts
输出内容中可以找到广播的详细信息,如下面这段内容:
在这里插入图片描述
这段内容说明系统中最近一次处理的前台广播是“com.chinatsp.test3.TESTDEMO”,这是个有序广播,只有一个接收器在接受这个广播,该接收器位于进程com.chinatsp.test3中

8.列出当前所有activity信息

adb shell dumpsys activity activities
列出当前所有activity信息,其中可以看到堆栈信息,例如下面这段输出内容:
在这里插入图片描述
其中列出了其中一个堆栈(stack)中,当前一共有3个task,其中id为39的task中有两个Activity,其中最顶端的Activity是com.chinatsp.test3/.ShuxingActivity

9.查看当前wake_lock信

adb shell dumpsys power | grep -i wake
在这里插入图片描述
可以看出,当前是有进程“cn.kuwo.service.MainService”持有wake lock,并且wake lock的类型是PARTIAL_WAKE_LOCK。

10.列出所有service

adb shell dumpsys –l

11.列出当前stack列表信息

adb shell am stack list

adb启动和停止xxx指令

(1)启动应用/ 调起 Activity

adb shell am start [options] <INTENT>

[options] 参数可选:

  • -a <action>

action --指定 action,比如 android.intent.action.VIEW

  • -c <category>

category --指定 category,比如 android.intent.category.APP_CONTACTS

  • -n <component>

component 指定完整 component 名,用于明确指定启动哪个 Activity

[intent]能带数据

  • --esn <extra-key>

extra-key null 值(只有 key 名)

  • --ez <extra-key> <extra-boolean-value>

boolean值

  • --ei <extra-key> <extra-int-value>

integer 值

  • --el <extra-key> <extra-long-value>

long值

  • --ef <extra-key> <extra-float-value>

float值

  • --eu <extra-key> <extra-uri-value>

URI值

  • --ecn <extra-key> <extra-component-name-value>

component name

  • --eia <extra-key> <extra-int-value>[,<extra-int-value...]

integer 数组

  • --ela <extra-key> <extra-long-value>[,<extra-long-value...]

long 数组

例如:

adb shell am start -n com.tencent.mm/.ui.LauncherUI

(2)停止应用

adb shell am force-stop <packagename>

例如:

adb shell am force-stop com.tencent.mm

(3)启动服务
adb shell am startservice [options] <intent>
例如:
adb shell am startservice -n com.android.systemui/.SystemUIService

(4)停止服务
adb shell am stopservice [options] <intent>

(5)启动广播
adb shell am broadcast [options] <INTENT>

向所有组件广播 BOOT_COMPLETED:
adb shell am broadcast -a android.intent.action.BOOT_COMPLETED

只向 com.android.receiver.test/.BootCompletedReceiver 广播 BOOT_COMPLETED:
adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -n com.android.receiver.test/.BootCompletedReceiver

adb连接xxx指令

1、adb tcpip 5555(端口号),给手机打开端口
2、然后电脑手机连同一网段(如开WIFI)
3、adb connect <ip>

adb修改设置指令

修改设置的原理主要是通过 settings 命令修改 /data/data/com.android.providers.settings/databases/settings.db 里存放的设置值。

注: 修改设置之后,运行恢复命令有可能显示仍然不太正常,可以运行 adb reboot 重启设备,或手动重启。

(1)分辨率
adb shell wm size 480x1024

(2)恢复原分辨率
adb shell wm size reset

(3)屏幕截图
截图保存到电脑:
adb exec-out screencap -p > sc.png

截图保存到设备
adb shell screencap -p /sdcard/sc.png

录制屏幕:
adb shell screenrecord /sdcard/filename.mp4
需要停止时按 Ctrl-C,默认录制时间和最长录制时间都是 180 秒。

(4)模拟硬按键
返回键 :adb shell input keyevent BACK

Home键 :adb shell input keyevent HOME

adb应用操作指令

(1)安装应用
adb install [-l] [-r] [-t] [-s] [-d] [-g] <apk-file>

(2)卸载应用
adb uninstall [-k] <package-name>
package-name 表示应用的包名,-k 参数可选,表示卸载应用但保留数据和缓存目录。

(3)清除应用数据与缓存
adb shell pm clear <package-name>

adb安全相关指令

(1)启用/禁用 SELinux
启用 SELinux
adb root
adb shell setenforce 1

禁用 SELinux
adb root
adb shell setenforce 0

(2)启用/禁用 dm_verity
启用 dm_verity
adb root
adb enable-verity

禁用 dm_verity
adb root
adb disable-verity

一些log关键字

1、“System now ready”

说明系统已经准备好,接下来会启动SystemUI,Launcher等系统应用。

2、“Starting SystemUI services for user”

说明正在启动SystemUI中的子Services

3、“ActivityManager: START”

能看到当前启动的是界面是哪个应用的,以及当前界面属于哪个Activity

4、“AndroidRuntime”

有程序crash掉的时候,用这个关键字可以搜出报错信息。

5、“Lowmemorykiller”

因内存不足杀死进程的log

ANR调试分析

1、从log分析

出现ANR时,会有如下log:
在这里插入图片描述

从log可以看到发生ANR的进程包名是com.chinatsp.test3,进程号是16275,发生ANR的原因是处理广播的的intent超时

2、从ANR文件分析

如果从log无法定位ANR的位置,那么从ANR文件中可以获得更详细的信息,ANR的文件保存在设备中的位置,如下图所示:
在这里插入图片描述

从其中的anr_2020-05-08-02-02-24-980中可以找到com.chinatsp.test3的ANR信息,如下:
在这里插入图片描述

一个ANR文件中有多个ANR信息,每个ANR信息都是以如下格式作为开头和结尾的:
在这里插入图片描述

由截图所示的ANR信息,可以看到发生ANR的进程号、包名,以及发生ANR的代码的具体位置。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

浅谈未来10年IT行业的变局与抉择,一文带你认识元宇宙

一. 困局据国家就业部门最新统计数据报告&#xff0c;2022年应届毕业生的数量首次突破1000万大关。其中研究生达到130万&#xff0c;985、211等名校毕业生75万&#xff0c;普通本科毕业生470万&#xff0c;专科生460万&#xff0c;另外还有几十万的归国留学生&#xff01;但这还…

《从0开始学大数据》之Spark性能优化案例

基于软件性能优化原则和 Spark 的特点&#xff0c;Spark 性能优化可以分解为下面几步。 性能测试&#xff0c;观察 Spark 性能特性和资源&#xff08;CPU、Memory、Disk、Net&#xff09;利用情况。分析、寻找资源瓶颈。分析系统架构、代码&#xff0c;发现资源利用关键所在&a…

【前端】Vue项目:旅游App-(17)home:页面滚动显示搜索栏、节流、时间同步

文章目录目标过程与代码页面滚动到目标位置显示搜索框优化&#xff1a;节流搜索栏显示时间同步效果总代码修改或添加的文件search-bar.vueuseScroll.jsstore的main.jsformatDate.jshome.vue参考本项目博客总结&#xff1a;【前端】Vue项目&#xff1a;旅游App-博客总结 目标 …

HDFS文件浏览器功能OOM排查

现象描述 涉及HDFS文件浏览器的某个功能运行一段时间后会出现OOM的情况 错误日志如下&#xff1a; service.log.2023-02-01-0.log:java.lang.OutOfMemoryError: Java heap space排查过程 需要查看dump文件排查一下造成OOM的原因 查看jvm参数如下&#xff1a; java -Duser.t…

一文讲明Docker的基本使用,常见Docker命令使用 、Docker的安装使用等【详细说明+图解+概念+实践】

一个混迹于Github、Stack Overflow、开源中国、CSDN、博客园、稀土掘金、51CTO等 的野生程序员。 目标&#xff1a;分享更多的知识&#xff0c;充实自己&#xff0c;帮助他人 GitHub公共仓库&#xff1a;https://github.com/zhengyuzh 以github为主&#xff1a; 1、分享前端后端…

【Python合集系列】2023兔年吉祥,新的一年希望放烟花的人跟看烟花的人都能平平安安哦~(附多种源码)

前言 希望放烟花的人跟看烟花的人都能平平安安。 &#x1f440; NICE TO MEET YOU :)&#x1f319; 所有文章完整的素材源码都在&#x1f447;&#x1f447; 粉丝白嫖源码福利&#xff0c;请移步至CSDN社区或文末公众hao即可免费。 ​哈喽&#xff01;我是木子&#xff0c;新…

设计模式之适配器模式,以C++为例。

今天来盘一盘适配器模式。适配器&#xff1a;顾名思义&#xff0c;就是让原本不合适的变为合适的&#xff0c;好似一对男女&#xff0c;没有中间的媒婆是不会互相了解的&#xff0c;好像不太恰当&#xff0c;就这么解释吧&#xff0c;只有有了这个中间人他们才会产生联系&#…

智能驾驶开启高精定位新赛道,这家供应商正加码布局海外市场

高工智能汽车研究院监测数据显示&#xff0c;2022年1-11月中国市场乘用车前装标配搭载NOA交付达到18.38万辆&#xff0c;同比增长91.86%&#xff1b;同时&#xff0c;NOA搭载的车型配置价格还在不断下滑&#xff0c;正在把NOA的配置拉至15万元价格区间。 而作为高精定位&#x…

面向对象——static(静态)Math类自定义工具类代码块

目录 static&#xff08;静态&#xff09;关键字 static的注意事项 static的优点和缺点 应用场景 自定义工具类 代码块 static&#xff08;静态&#xff09;关键字 static是一个修饰符&#xff0c;用于修饰成员&#xff08;成员变量 、成员方法&#xff09;static的特点…

Redis处理client连接数过多,大量空闲链接无法释放问题

打开redis命令终端&#xff0c;输入&#xff1a; client list 查看连接数&#xff0c;用于返回所有连接到服务器的客户端信息和统计数据 参数解析&#xff1a; id: 唯一的64位的客户端ID(Redis 2.8.12加入)。 addr: 客户端的地址和端口 fd: 套接字所使用的文件描述符 age…

python真的很骚可惜你不会

python基本语法 &#x1f4d2;博客主页&#xff1a; 微笑的段嘉许博客主页 &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐留言&#x1f4dd; &#x1f4cc;本文由微笑的段嘉许原创&#xff01; &#x1f4c6;51CTO首发时间&#xff1a;&#x1f334;2023年1月日3…

redis分布式缓存

文章目录一、redis持久化1.1.RDB持久化1.1.1.执行时机1.1.2.RDB原理1.1.3.小结1.2.AOF持久化1.2.1.AOF原理1.2.2.AOF配置1.2.3.AOF文件重写1.2.4.小结1.3.RDB与AOF对比二、Redis主从集群2.1.集群结构2.2.准备实例和配置2.3.启动2.4.开启主从关系2.5.测试2.6.主从数据同步原理2.…

Codeforces Round #848 (Div. 2) A-E 赛时思路+正解

青大蒟蒻第一次在正式的div2div2div2中AcAcAc了五道题&#xff0c;也是小蒟蒻有史以来发挥最好的一场&#xff0c;这场过后我的cf也许可能也要变成黄了。 A. Flip Flop Sum 题意&#xff1a;给定一个a——ia——ia——i数组&#xff0c;权值仅为1或-1&#xff0c;我们选择相邻…

《死亡空间》重制回归!无法启动怎么办?

作为科幻生存恐怖系列的经典之作&#xff0c;《死亡空间》在推出15年后再次回归&#xff0c;果然引发热潮。精美震撼的科幻场景&#xff0c;强烈的视觉画面&#xff0c;加上阴森的3D 音效&#xff0c;重制版提升了身临其境之感&#xff0c;完全是沉浸式恐怖体验&#xff0c;只能…

红外遥控数码管显示

红外遥控器实物图红外遥控器接口电路数码管接口电路红外遥控数码管显示程序源代码/**************************红外遥控数码管显示************************** * 单片机&#xff1a;51单片机* 开发环境&#xff1a;keil * 名称:红外遥控数码管显示 * 功能&#xff1a;遥控器红外…

C语言常量

常量是固定值&#xff0c;在程序执行期间不会改变。这些固定的值&#xff0c;又叫做字面量。常量可以是任何的基本数据类型&#xff0c;比如整数常量、浮点常量、字符常量&#xff0c;或字符串字面值&#xff0c;也有枚举常量。常量就像是常规的变量&#xff0c;只不过常量的值…

OpenMMLAB AI实战营第一课笔记

计算机视觉的发展 计算机视觉是什么 计算机视觉是一门让计算机学会"看"的学科&#xff0c;研究如何自动理解图像和视频中的内容 计算机视觉的发展 早期萌芽&#xff08;1960-1980&#xff09; 统计机器学习与模式识别(1990-2000) ImageNet 大型数据库(2006) 斯坦…

ocelot+consul治理服务

consulConsul 是HashiCorp公司推出的开源工具&#xff0c;用于实现分布式系统的服务发现与配置。与其它分布式服务注册与发现的方案相比&#xff0c;Consul的方案更“一站式”&#xff0c;内置了服务注册与发现框架、分布一致性协议实现、健康检查、Key/Value存储、多数据中心方…

程序员副业接单做私活避坑指南

这篇文章系统的分享了对接单做私活这件事情的思考&#xff0c;也给出一些干货建议。希望让大家少走一些弯路&#xff0c;不要被坑。 先说结论 不建议大家在接单这个事情上投入太大精力&#xff0c;如果你“贼心不改”&#xff0c;建议大家以比较随缘的方式对待这件事情。 再说…

Linux云主机配置

Linux云主机配置 推荐环境&#xff1a; Mac 阿里云主机Linux 阿里云主机Windows Xshell 阿里云主机&#xff08;选择使用&#xff09;Windows 虚拟机 阿里云主机 1.云主机配置 选择配置的过程中&#xff0c;请注意选择操作系统版本为Ubuntu 16.04 64位 或 Ubuntu 18.04 6…