adb常见命令(长期更。。。)
工作中遇到的adb命令,长期更新。。。
前言
工作中遇到的adb命令会逐渐记录下来,以飨读者。
# 一、adb是什么?
adb是什么?具体可以看鱼大佬的连接
ADB(android debug brige)安卓 调试 桥
ADB用一句话形容就是:ADB是我们用来操作(调试)android设备(比如android手机)的一套指令集。
二、常见的命令
1.命令行
代码如下(示例):
//001.查看mtk平台模组信息
adb shell cat data/vendor/camera/mtk*
//002.使用adb push命令的时候,有时候需要push到某个文件夹
//下面的内容到手机里面,我们一般会这样
adb push c:\xxdir\project /sdcard/xxxx
//这样会把project文件夹也push到手机里面,
adb push c:\xxdir\project\. /sdcard/xxxx
//这样的操作只是把project下面的文件push到xxxx下面,
//而不包括project文件夹
//003.查看各个进程那些没有被杀死
adb shell ps -elf | grep camshowmap pid
//004.重启手机
adb reboot
//005.进入android boot界面
adb reboot bootloader
//006离开android boot界面
fastboot reboot
// adb手机权限获取
adb remount
//从android pull文件
adb pull /data/log/android_logs 电脑路径\
启动ADB
adb start-server
停止ADB
adb kill-server
查看帮助信息
adb help
列出手机装的所有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 qq
清除应用缓存信息
adb shell pm clear com.tencent.mobileqq
安装应用程序,锁定该程序
adb install -l qq.apk
安装应用程序,重新安装该程序
adb install -r qq.apk
安装应用程序,安装在SD卡内,而不是设备内部存储
adb install -s qq.apk
卸载应用程序
adb uninstall com.tencent.mm
卸载应用程序,不删除程序运行所产生的数据和缓存目录
adb uninstall -k com.tencent.mm
将手机设备中的文件copy到本地计算机
adb pull /sdcard/test.jpeg ./
将本地计算机的文件copy到手机设备中
adb push api_note /sdcard/
手机截屏
adb shell screencap -p /sdcard/screencap.png
查看指定包名应用的数据库储存信息(包括储存的SQL语句)
adb shell dumpsys dbinfo com.tencent.mobileqq
查看指定包的内存信息,通过包名
adb shell dumpsys meminfo com.tencent.mobileqq
查看指定包的内存信息,通过id(adb shell dumpsys activity top 可以获取id)
adb shell dumpsys meminfo id
查看指定包名应用的详细信息(相当于AndroidMainfest.xml中内容)
adb shell dumpsys com.tencent.mobileqq
查看当前应用的activity信息
adb shell dumpsys activity top
查看bug报告
adb bugreport
通过adb启动应用程序页面
adb shell am start -n com.tencent.mobileqq/.activity.LoginActivity@1c730155
强制停止应用有些时候应用卡死了,需要强制停止
adb shell am force-stop com.tencent.mobileqq
进入adb shell
adb shell
推出adb shell
exit
记录无线通讯日志
adb shell
logcat -b radio
删除名字为xxx的文件夹及其里面的所有文件
adb shell
rm -r xxx
删除文件xxx
adb shell
rm xxx
删除xxx的文件夹
adb shell
rmdir xxx
进入系统内指定文件夹
adb shell
cd /system/sd/data
ls
获取设备序列号
adb get-serialno
获取设备MAC地址
adb shell cat /sys/class/net/wlan0/address
获取设备型号
adb shell getprop ro.product.model
获取系统版本
adb shell getprop ro.build.version.release
获取屏幕分辨率
adb shell wm size
获取屏幕密度
adb shell wm density
获取CPU信息
adb shell cat /proc/cpuinfo
获取权限列表
adb shell pm list permissions -f
获取用户
adb shell pm list users -f
重启
adb reboot
备份所有应用
adb backup -all
备份单个应用
adb backup com.tencent.mobileqq
备份参数说明
adb backup -f mm.ab -noapk -noshared -nosystem com.tencent.mm
-f 用这个来选择备份文件存储在哪里,例如-f /backup/mybackup.ab将会使文件存储在根磁盘(Windows的C盘等等)下一个名为backup的文件夹里,并且备份文件名为mybackup.ab
-apk|-noapk 是否在备份里包含apk或者仅仅只备份应用数据,默认是-noapk
-shared|-noshared 这个参数用于决定是否备份设备共享的SD card内容,默认是-noshare
-all 这个参数是一种简单地表达“所有应用”的说法,备份整个系统
-system|-nosystem 这个参数决定-all标签是否包含系统应用,默认的是-system
使用run-as在非root情况获取沙盒数据(前提是开启debuggable模式)
adb shell
run-as com.tencent.mobileqq
cd /data/data/com.tencent.mobileqq
ls
cd databases
cat preferences.db > /mnt/sdcard/yourpackagename.db
将你要访问的package目录下的db文件拷贝到sdcard中,这样就可以正常访问了! 对文件进行增删。
查看当前进程的内存的加载情况
adb shell
cat /proc/7654/maps
查看当前应用使用的端口号信息
adb shell
cat /proc/14/net/tcp
查看进程的状态信息,通过该命令获取到当前进程的包名,PID,PPID等等重要信息
adb shell
cat /proc/14/status
查看一个dex文件的详细信息
dexdump [dex文件路径]
adb shell "run-aspackage.name chmod 666 /data/data/package.name/databases/file"
adb pull /data/data/package.name/databases/file .
adb shell "run-aspackage.name chmod 600 /data/data/package.name/databases/file"
adb exec-out run-as package.name cat databases/file > file