首页 > 其他分享 >【adb基础】adb详解及使用

【adb基础】adb详解及使用

时间:2024-02-04 21:45:30浏览次数:26  
标签:shell log dumpsys 基础 获取 详解 adb activity

dumpsys

dumpsys是Android系统的调试工具,提供有关系统服务的信息

pm(Package Manager)

主要用于获取和安装在 Android 设备上的应用信息。

ADB运行架构

  • adb client--->adb shell echo xxx
  • adb server--->adb -l tcp:5037 fork-server server --reply-fd 4(可使用命令查看此服务ps -ef | grep adb)
  • adbd--->adb shell ps | grep adbd

Shell基础

【Shell基础】Bash基础与Linux三剑客

adb常用命令

# 启动服务
adb start-server

# 终止服务
adb stop-server

# tcpip命令在电脑端开启指定手机设备的tcpip端口(连接远程手机,步骤1:先usb连接手机,然后执行tcpip)
adb -s {deviceName} tcpip 5555

# 连接设备
adb connect ip:端口

# 获取设备信息
adb devices

# 断开连接
adb disconnect ip:端口

# 查看被占用端口对应的PID
netstat -aon | findstr "5556"

# 获取所有的dumpsys子命令
dumpsys | grep -i DUMP

# 获取当前activity
adb shell dumpsys activity top

# 获取activity的记录,可以获取到appium依赖的原始activity
dumpsys activity activities

# package信息查询
dumpsys package

# 获取指定包基本信息
adb shell dumpsys package com.xueqiu.android

# 查看日志信息
adb logcat -v -s ActivityManager > /sdcard/log.txt     # -s 过滤内容

# 手机输出文件到PC
adb pull /data/log.txt E:\logs\log.txt

# PC输入文件到手机
adb push /data/log.txt E:\logs\log.txt

# 列出所有应用
adb shell pm list package 
adb shell pm list package -f

# 列出第三方应用
adb shell pm list package -3 

# 列出所有测试包
adb shell pm list instrumentation 

# 安装与卸载
adb install {全路径文件}      # -r 保留数据及缓存文件 
adb uninstall  {包名}

# 清除缓存数据
adb shell pm clear com.ablesky.ui.activity

# 截频并保存文件在手机上为xxx.png
adb shell /system/bin/screencap -p /sdcard/xxx.png

# 启动程序
adb shell am start -n com.ablesky.ui.activity/com.ablesky.activity.SplashActivity

# 杀掉某进程
taskkill /pid 2027 /f 

# monkey
adb shell monkey -p 包名 -v -v 50 > xx.txt

# 参数注解:app包名 日志等级 50个随机事件 输出日志
adb shell monkey -p com.xiaxl.demo --pct-motion 10 --pct-touch 90 --throttle 300 --ignore-crashes --ignore-timeouts --ignore-security-exceptions -v -v -v 192000 > 1.txt

# 获取系统通知
adb shell dumpsys notification

# 获得内存信息
adb shell dumpsys meminfo com.android.settings

# 获取CPU信息
adb shell dumpsys cpuinfo

# 获取GPU绘制分析
adb shell dumpsys gfxinfo com.android.settings

# 获取短信
adb shell dumpsys activity broadcasts | grep senderName=

# 获取手机分辨率
adb shell "dumpsys window | grep mUnrestrictedScreen"

# 获取手机设备型号
adb shell getprop ro.product.model

# 获取手机的序列号,有以下两种方式
adb get-serialno
adb shell getprop ro.serialno

# 获取手机的IMEI,有三种方式,由于手机和系统的限制,略有区别
adb shell dumpsys iphonesubinfo其中Device ID即为IMEI号
adb shell getprop gsm.baseband.imei
service call iphonesubinfo 1 # 此种方式,需要自己处理获取的信息得到

# 获取手机mac地址
adb shell cat /sys/class/net/wlan0/address

# 获取手机系统版本
adb shell getprop ro.build.version.release

# 获取手机系统api版本
adb shell getprop ro.build.version.sdk

# 获取手机厂商名称
adb shell getprop ro.product.brand

# 查看指定apk的包名
aapt dump badging +包的全路径

# 查看电池状态
adb shell dumpsys batter

# 重启手机
adb reboot

adb做hack

adb命令进行中转操作

代替adb.exe文件,中转后再执行adb.bak

# adb进行hack中转处理,打印$$(当前进程id)、获取ppid、获取输入的参数,输出到指定log文件中
echo "# $$ "$(date "+%Y/%m/%d %H:%M:%S")>> C:/InstallSoftware/android-sdk-windows/platform-tools/adb.log
echo "# ppid: $(ps |awk '{print $2}' | tail -1) $(ps |awk '{print $8}' | tail -1)" >> C:/InstallSoftware/android-sdk-windows/platform-tools/adb.log
echo "adb $@" >> C:/InstallSoftware/android-sdk-windows/platform-tools/adb.log
exec C:/InstallSoftware/android-sdk-windows/platform-tools/adb.bak "$@"

标签:shell,log,dumpsys,基础,获取,详解,adb,activity
From: https://www.cnblogs.com/upstudy/p/18006787

相关文章

  • 零基础入门Vue之To be or not to be——条件渲染
    温故上一节:零基础入门Vue之皇帝的新衣——样式绑定在前面的内容能了解到,Vue不仅仅能进行数据渲染还可以对样式进行绑定并且他能随意的切换样式,但Vue的初衷就是尽量少让使用者操作dom节点加入你要让指定dom显示或者不显示,该怎么办呢?以目前的东西来说,不拿到dom节点还是做不到的......
  • Java 运算符详解与字符串处理技巧
    Java运算符算术运算符算术运算符用于执行常见的数学运算。运算符名称描述示例+加法将两个值相加x+y-减法从一个值中减去另一个值x-y*乘法将两个值相乘x*y/除法将一个值除以另一个值x/y%取模返回除法余数x%y++自增将变量......
  • 电路基础
    目录电学基本概念常见电子元器件基本电路立创商城、华秋商城:专门出售电子元器件的电学基本概念原子:原子由原子核和绕着核运动的电子组成。正原子的原子核带着正电,周围的电子带着负电。电流:1安培定义为1秒内有6.2415093×10^18个元电荷通过横截面的电流,电流使用字母I表示。电......
  • 2024牛客寒假算法基础集训营1 K 牛镇公务员考试 题解
    Question2024牛客寒假算法基础集训营1K牛镇公务员考试给出一张试卷有\(n\)道单选题,每道题用一个整数\(a_i\)和一个长度为\(5\)的字符串\(s_i\)表示,其中第\(i\)道题的题面为:第\(a_i\)道题的答案是()A.\(s_1\)B.\(s_2\)C.\(s_3\)D.\(s_4\)E.\(s_5\)问:正......
  • mysql数据库--行级锁,间隙锁和临键锁详解
    转载链接地址:MySQL数据库——锁-行级锁(行锁、间隙锁和临键锁)介绍行级锁,每次操作锁住对应的行数据。锁定粒度最小,发生锁冲突的概率最低,并发度最高。应用在InnoDB存储引擎中。InnoDB的数据是基于索引组织的,行锁是通过对索引上的索引项加锁来实现的,而不是对记录加的锁。对于行级......
  • 【算法专题】排序详解
    各种排序快速排序、归并排序、桶排序、堆排序1、快速排序(quick_sort)时间复杂度:\(O(nlogn)\)//快速排序模版voidquick_sort(intq[],intl,intr)//数组,左端点,右端点{if(l>=r)return;//“>>”:右移运算符,相当于除以2intx=q[l+r>>1],......
  • Docker基础知识
    学习DockerDocker基础知识1.仓库、镜像、容器介绍仓库:是存放镜像的场所,dockerhub是最大的开源仓库,可以通过dockersearch查找所需镜像并通过dockerpull拉取镜像:docker真正的操作对象容器:dockerrun启动镜像会变成容器,容器顶层为一个可操作层,修改不会影响镜像。每个......
  • 第一章学习Markdown语法详解
    Markdown学习一、标题:一级标题一个井号空格加标题名字就可以了二级标题两个井号空格加标题名字就可以了三级标题三个井号空格加标题名字就可以了四级标题四个井号空格加标题名字就可以了五级六级标题把对应的#写够即可。注意最多只支持到六级标题二、字体Hello,World!......
  • 基础算法(十四)离散化+二分 ---以题为例
    假定有一个无限长的数轴,数轴上每个坐标上的数都是 0。现在,我们首先进行 n 次操作,每次操作将某一位置 x 上的数加 c。接下来,进行 m 次询问,每个询问包含两个整数 l 和 r,你需要求出在区间 [l,r] 之间的所有数的和。输入格式第一行包含两个整数 n 和 m。接下来 ......
  • 全网最牛逼的OSPF LSA类型详解
    OSPF定义了不同类型的LSA,每种类型承载着不同的网络拓扑信息。帮助路由器建立完整的拓扑视图,从而实现高效的路由计算和数据传输。今天就给你来一篇超实用的讲解干货,运用实际案例给你说明白!在正式讲解之前,先说明一下今天使用的讲解环境哈:·R1、R2、R3、R4四台路由器运行OSPF。·设......