Android 中常用的ADB命令

root权限操作

  • 此操作需要root后的手机才可以执行
对手机进行root操作

adb root 



挂载读写

adb remount
如果挂载失败 尝试使用 adb disable-verity  命令 然后 adb reboot重启



重启机器
       
adb reboot

 

应用信息相关

 

查看手机安装的应用包名:

adb shell pm list packages

查看手机安装包名,在手机上安装的位置
adb shell pm list packages -f

过滤指定包名的安装位置

adb shell pm list package -f | grep -iE "指定包名"


输出安装包的APK路径

adb shell pm path +包名


清理包名下的数据
adb shell pm clear +包名


查看指定包名版本号:

adb shell dumpsys package  指定包名 | grep  version

电脑和手机之间文件传输

 

把apk推到安卓设备上进行安装

先将apk从电脑C盘推送到手机的data目录下面

adb push D:\SurfaceCamera_d.apk   /data/




手机设备指定目录文件发送到计算机指定目录:前面是手机位置,后面是桌面位置,执行代码前需要挂载读写

adb pull /system/framework/SystemUI.apk  C:\Users\Administrator\Desktop\systems\

 

 

安装卸载操作

 

常规的安装命令:

adb install +包存储的绝对路径地址


常规的卸载命令:

adb uninstall +包存储的绝对路径地址


安装

adb shell pm install -t   /data/SurfaceCamera_d.apk


强制 卸载应用

 adb shell pm uninstall --user 0 包名  

 

查看日志

查看log:

  adb logcat

清除log缓存:

  adb logcat -c

设置logcat 的缓存大小

  adb logcat -G 100M

将日志写入文件中,> 后面是保存的文件全路径;
  adb logcat > C:\Users\ivy\Desktop\log.txt




只显示需要的输出(白名单),最方便的当然是通过管道使用 grep 过滤了,这样可以使用 grep 强大的正则表达式匹配。      
如只显示标记有MyApp的log 并且将其输出到文本中
adb shell "logcat | grep MyApp">C:\Users\ivy\Desktop\text.txt



最近崩溃的栈日志,这个用于快速定位问题

  adb shell dumpsys dropbox --print data_app_crash



抓取 anr 日志

# root 过的设备
adb shell  cat /data/anr/traces.txt > /mnt/sdcard/0/traces.txt
exit
adb pull /mnt/sdcard/0/traces.txt .
# 注意某些机型可能文件名改过,需要自行判断

## 未root
# windows 系统 写入文件 bugreport.log
adb shell bugreport > bugreport.log
# linux 系统可以使用 tee 一边输出一边记录
adb shell bugreport | tee bugreport.log

文件操作

 

adb shell


cd xxx //进入系统内指定文件夹

#ls //列表显示当前文件夹内容

#rm -r xxx // 删除名字为xxx的文件夹及其里面的所有文件

#rm xxx // 删除文件xxx

#rm dir xxx // 删除xxx的文件夹

#exit 退出
# 查看所有存储设备名
adb shell ls mnt
# 将指定文件(例如电脑中文件)推送到手机指定目录下
adb push local remote      //local 代表需要推送的文件全路径 ,remote 推送到手机位置的路径
//例如:
adb push C:\Users\ivy\Desktop\123\xxx.apk   system/priv-app/HMDCamera



# 将手机中的文件导出到指定文件(例如电脑的某了路径下)
adb pull remote  local   //local 代表导出到指定位置的文件全路径 ,remote 导出文件在手机位置的路径
例如:
adb pull /system/priv-app/HMDCamera/xxx.apk    C:\Users\ivy\Desktop\123

 

CPU查看


查看cpu命令:

   adb shell top 


   可以直接使用此命令,查看所有进程下的cpu占用情况, 获取到的cpu 数距只是针对1核来说,现在手机 
   都是多核的了,那这样的值也不会太准确,如果是多核情况下还需除以cpu的个数。
   单核*4 cpu ,退出此功能 方式是按一下q键 就可以退出了




参数说明:

usage: top [-Hbq] [-k FIELD,] [-o FIELD,] [-s SORT] [-n NUMBER] [-m LINES] [-d SECONDS] [-p PID,] [-u USER,]

Show process activity in real time.

-H      Show threads  显示线程
-k      Fallback sort FIELDS (default -S,-%CPU,-ETIME,-PID)回退排序字段(默认- s,-%CPU,- etime,- pid)
-o      Show FIELDS (def PID,USER,PR,NI,VIRT,RES,SHR,S,%CPU,%MEM,TIME+,CMDLINE)显示字段(def PID,USER,PR,NI,VIRT,RES,SHR,S,%CPU,%MEM,TIME+,CMDLINE)
-O      Add FIELDS (replacing PR,NI,VIRT,RES,SHR,S from default)添加字段(替换默认的PR、NI、VIRT、RES、SHR、S)
-s      Sort by field number (1-X, default 9)按字段号排序
-b      Batch mode (no tty)批处理模式
-d      Delay SECONDS between each cycle (default 3)刷新间隔时间(默认3秒) 
-m      Maximum number of tasks to show 最多显示多少
-n      Exit after NUMBER iterations  刷新次数 
-p      Show these PIDs     显示pid
-u      Show these USERs   显示user
-q      Quiet (no header lines)  没有标题行




  表示把获取到的数据保存到本地电脑 d: cpu.txt文件中


  adb shell top > d:\cpu.txt  





 按照指定的进程名称进行过滤,查看cpu 变化,windows使用findstr进程、Mac与Linux使用grep程序

     a、(Windows bat)adb shell top | findstr "21879"

     b、(Mac 终端)adb shell ps | grep ""

     adb shell "top -d 2 | findstr com.yy.huanju" > g:\cpu.txt




查看线程占用变化(显示TID线程 )


  adb shell top -H  


根据进程PID 定位当前进程CPU占用过高的线程id

  adb shell top -H -p 96263   

杀死进程  

  adb shell kill 28456 

内存查看

查看当前内存占用:

 adb shell cat /proc/meminfo


内存使用情况


  adb shell dumpsys meminfo 包名

 

查看手机是user版本还是userdebug或是eng版本

执行指令:

adb shell getprop ro.build.type


截屏手机生成图片和录制视频

 

截图保存到电脑桌面文件夹123 文件名sc.png

adb exec-out screencap -p > C:\Users\ivy\Desktop\123\sc.png


# 录制是视频
$ adb shell screenrecord /sdcard/demo.mp4

 

 

在windows上使用grep命令进行内容搜索:

  • 安装git-bash
  • 在需要搜索的目录下,右键打开git-bash即可使用grep命令搜索

从文件内容查找匹配指定字符串信息:

使用命令如下:

grep -rniE "xxx"   //xxx代码筛选的关键字

r:指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作
n:在显示符合样式的那一行之前,标示出该行的列数编号
i:忽略字符大小写的差别
E:将样式为延伸的正则表达式来使用


//将查找的数据输出到文件
grep -rinE "CameraApp" > txt.txt   //txt.txt 代表着输出的文件全路径,一般直接在查找的目录创建输出文件

获取分辨率

 

$ adb shell wm size
Physical size: 1080x1920

$ adb shell dumpsys window displays |head -n 3
WINDOW MANAGER DISPLAY CONTENTS (dumpsys window displays)
  Display: mDisplayId=0
    init=1080x1920 480dpi cur=1080x1920 app=1080x1920 rng=1080x1020-1920x1860

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值