Android 常用 adb 命令

(一)基础操作

  • 安装app

    adb install -r xxx.apk //覆盖安装,保留数据和缓存文件
    adb install -s xxx.apk //安装apk到sd卡
    adb install -f xxx.apk //安装apk到内部系统内存
    adb install -d xxx.apk //安装低版本Apk
    adb install -g xxx.apk //准许Apk manifest中的所有权限
  • 获取安装位置

    adb shell pm get-install-location
  • 卸载app

    adb uninstall <package>
    adb uninstall -k <package> //卸载app但保留数据和缓存文件
  • 重启手机

    adb reboot
  • 启动adb服务

    adb start-server
  • 关闭服务

    adb kill-server
  • 进入shell环境

    adb shell

(二)设备信息查看

  • 查看所连接的设备以及设备所对应的序列号

    adb devices
  • 查看手机CPU架构(eg.ARMv7) 和内核个数

    adb shell cat /proc/cpuinfo
  • 查看系统的详尽内存信息,包含内核情况

    adb shell cat /proc/meminfo
  • 获取手机磁盘空间

    adb shell df
  • 获取手机系统版本

    adb shell getprop ro.build.version.release
  • 获取机器MAC地址:

    adb shell  cat /sys/class/net/wlan0/address
  • 查看wifi密码

    adb shell cat /data/misc/wifi/*.conf

(三)pm / am相关

  • 清除应用的数据

    adb shell pm clear <package>
  • 查看App路径

    adb shell pm path <package>
  • 查看所有已安装的应用的包名

    adb shell pm list packages -f
  • 查看含有“google”字段的应用的包名

    adb shell pm list packages google
  • 查看第三方应用的包名

    adb shell pm list packages -3
  • 启动某个应用的某个Activity

    adb shell am start -n packagename/packagename.activityname
    如:adb shell am start -n com.company.appname/ .SplashActivity -es url http://www.baidu.com
    //-es表示需传递参数,其中url表示参数名,链接表示具体参数值
  • 拨打电话

    adb shell am start -a android.intent.action.CALL -d tel:10086
  • 打开网站

    adb shell am start -a android.intent.action.VIEW -d http://www.baidu.com

(四)进程 / 服务查看

  • 查看进程信息

    adb shell ps | grep xxx
  • 查看指定进程状态

    adb shell ps -x [pid]
  • 周期性地打印出进程运行队列、系统切换、CPU时间占比等情况

    adb shell vmstat
  • 各进程内存使用情况

    adb shell procrank
  • 杀死一个进程

    adb shell kill [pid]
  • 查看后台services信息

    adb shell service list

(五)dumpsys系列

  • 查看当前手机所支持的dump服务

    adb shell dumpsys -l
  • 查看包信息 Package Information

    adb shell dumpsys package
    adb shell dumpsys package packages | grep <package> //查看某个app资源路径
  • 查看内存使用情况

    adb shell dumpsys meminfo | grep xxx
    adb shell dumpsys meminfo <pid> // 输出指定pid的内存使用情况
    adb shell dumpsys meminfo --package <package> // 输出指定包名内存使用情况
    adb shell top -m 6 //查看内存占用前6的app
  • 查看栈顶Activity,可以用来获取包名,查看其它app的包名

    adb shell dumpsys activity top
  • 查看渲染耗时

    adb shell dumpsys gfxinfo <package> > /sdcard/fps.txt
    取出文件:adb pull /sdcard/fps.txt /Users/admin/Downloads/1234.txt
  • 查看am的状态

    adb shell dumpsys activity
  • Memory Use Over Time

    adb shell dumpsys procstats

(六)文件操作

  • 移动文件/文件夹

    adb shell mv path/file newpath/file
  • 新建文件夹

    adb shell mkdir path
  • 新建文件

    adb shell touch filename
  • 重命名文件/文件夹

    adb shell rename path/filename newpath/newfilename
  • 查看文件内容

    adb shell cat file
  • 从手机复制文件到电脑

    adb pull /data/anr/traces.txt /Users/admin/Downloads/1234.txt
  • 从电脑向手机发送文件

    adb push foo.txt /sdcard/foo.txt

(七)log相关

  • 查看日志

    adb logcat | grep xxx
  • 日志输出到文件

    adb logcat -d > ~/Desktop/logcat.txt //保存到桌面,需要android.permission.READ_LOGS
  • 清除log缓存

    adb logcat -c

(八)其他

  • 连接到指定的ip,通常配合wifidebug

    adb connect <device-ip-address>
  • 跑monkey

    adb shell monkey -v -p <package> 500 // 跑500次
  • 截屏

    adb shell /system/bin/screencap -p /sdcard/screenshot.png
    adb pull /sdcard/screenshot.png ./Dowload/screenshot.png(保存到电脑)
  • 屏幕录制

    adb shell screenrecord  --time-limit 30 /sdcard/demo.mp4
    adb pull /sdcard/demo.mp4 ./Downloads/

深入学习

上一篇:json 与jsonp 特点及区别


下一篇:shell编程学习笔记(十二):Shell中的break/continue跳出循环