android adb命令

android调试命令:
1)adb shell vm 命令:
adb shell vm size 
查看分辨率,我本机的输出结果如下: 
Physical size: 720x1280 
如果想要设置成其他分辨率,在size 后面加上想要的参数即可,比如 
adb shell vm size 720x1080

adb shell vm density 
查看屏幕密度,我本机输出结果如下: 
Physical density: 320 
同样density后面也可已加上想要的密度值,比如 
adb shell wm density 200

adb shell wm overscan 
设置窗口的显示位置,比如想让界面在靠左200, 靠上300,靠右400 , 靠下500的显示区域显示 ,可以这样设置 
adb shell wm overscan 200,300,400,500

通过vm设置的值手机重启后依然生效,如果想回复默认的,可以参考下面的设置方法 
adb shell wm density reset

2)adb shell svc命令:
svc 命令可以控制电源、数据流量、wifi、usb的开关状态,用法如下:
Available commands:
    help     Show information about the subcommands
    power    Control the power manager
    data     Control mobile data connectivity
    wifi     Control the Wi-Fi manager
    usb      Control Usb state
比如要直接打开wifi可以用如下的命令方式 
adb shell svc wifi enable
adb shell svc bouletooth on

3)adb shell settings命令
settings命令可以更加方便的查看、更改SettingsProvider数据库的值,有了它不用在通过Sqlite3命令操作Settins数据库了。用法如下:
usage:  settings [--user NUM] get namespace key
        settings [--user NUM] put namespace key value
        settings [--user NUM] delete namespace key
'namespace' is one of {system, secure, global}, case-insensitive
If '--user NUM' is not given, the operations are performed on the owner user.
比如存放在Settings数据库global表中的字段airplane_mode_on表明是否开启了飞行模式,可以通过 
adb shell settings get global airplane_mode_on 
直接看到它的值,方便debug工作

4)adb shell content命令
adb shell content 命令可以直接通过命令行对contentprovider数据集进行增删改查操作,非常利于debug功做。 
比如要查看系统media数据库里存放的图片记录,可以通过命令: 
adb shell content query --uri content://media/external/images/media直接查看,相对与Sqlite3命令更为快捷。
如果要更改_id=3082这条数据的title字段可以通过命令: 
adb shell content update --uri content://media/external/images/media/3082 --bind title:s:test.png 
来实现

5)adb shell pm命令
pm(package manager)命令方便查看系统当前安装包的一些状态,功能强大,选取几个我经常使用的场景.更多的使用方法直接输入adb shell pm查看输出帮助。
5.1)清除应用数据。 
在Launcher开发的时候,更新完成桌面应用图标的位置后,如果要查看显示效果,就必须先把Launcher的数据清除,否则新的改动不会生效。这个时候可以用clear命令一步完成。 
adb shell pm clear com.android.launcher
5.2)查看当前安装的所有 apk。 
整机开发的时候,经常需要查看下当前手机安装了哪些应用,可以通过 
adb shell pm list packages查看 
查看包名和文件名对应表adb shell pm list packages -f 
查看安装的第三方应用adb shell pm list packages -3
5.3)禁止或启用一个应用 
禁止一个应用adb shell pm disable [packagename] 
开启一个应用adb shell pm enable [packagename]

6)adb shell am
am(activity manager) 命令方便调试应用的活动行为,它的使用场景比较多。网上的使用说明也比较多,不多加说明了。选常用的两个
6.1)启动一个activity 
adb -d shell am start -n com.google.android.setupwizard/.SetupWizardTestActivity
6.2)模拟发送广播 
在开发SystemUI时,涉及到SIM卡状态显示的debug工作,模拟发送广播就非常有用了。 
adb shell am broadcast -a android.intent.action.SIM_STATE_CHANGED --es ss ABSENT --ei slot 1

7)adb shell dumpsys
dumpsys 命令常用来查看activity的堆栈信息,比如: 
adb shell dumpsys activity activities 
也可以查看电池信息adb shell dumpsys battery 
还可以查看某个安装包的详细信息 
adb shell dumpsys package com.google.android.googlequicksearchbox 
和grep命令结合可以过滤出关心的信息,比如要查看googlequicksearchbox的版本就可以使用下面的命令 
adb shell dumpsys package com.google.android.googlequicksearchbox|grep versionName

8)adb shell screencap/screenrecord
截屏adb shell screencap -p /sdcard/test.png 
录屏adb shell screenrecord --time-limit 10 --bit-rate 6000000 /sdcard/demo.mp4

9)aapt命令
aapt命令可以用来查看一个apk包含的资源类信息,比如版本号,权限等。它位于SDK下的build-tools目录里。使用说明如下图:

10)常用adb命令
adb connect [ip]:[port] 连接机顶盒(默认端口为5555)
adb devices 查看所有连接设备 名称、ip、端口已经状态( device 或 offline )
adb install [apk 安装包所在路径(如:d:\a.apk)] 将对应路径的 apk 安装包安装到机顶盒
adb install -r [apk 安装包所在路径(如:d:\a.apk)] 将对应路径的apk 安装包强制(覆盖)安装到机顶盒
adb -s [设备名称或设备IP:端口] install [apk 安装包所在路径(如:d:/a.apk)] 当 adb 连接多个设备时,将 apk 安装到指定设备中,其中:
  通过 -s [设备名称或设备 IP:端口] (例如:adb -s 192.168.192.196:5555 d:\apk 指定 IP 为 192.168.192.196 端口为 5555 的设备)。其中 -s 192.168.192.196:5555 要紧跟在 adb 后面,**其他的 adb 命令,也可以通过这种形式对指定的设备进行操作。 **
  当 adb 指令使用时,出现 more than one device and emulator 错误提示时,需要用该方式指定需操作的设备。
adb uninstall [应用包名,例如:com.example.tmall] 卸载应用(通过包名指定)
adb shell进入系统目录(通过 exit 退出)
adb shell am start -n [包名]/[包名+类名] 启动指定类名的 Activity
adb shell input text **** 在已经获取焦点的EditText中输入内容
adb shell ps 查看当前终端中的进程信息
adb shell dumpsys activity activites查看当前终端所以前后台Acitivity的堆栈
adb shell logcat > d:\log.txt 打印日志到本地文件(会打印缓存的日志,可能会有昨天等之前日志。windows下,按ctrl+c停止日志打印)
adb logcat *:D > d:\log.txt 过滤出D级别以上的日志,打印日志到本地文件( 在 macOS 下需要给 *:W 这样以 * 作为 tag 的参数加双引号,如 adb logcat "*:W")
抓手机日志命令,看CRASH
adb logcat -v time -d > d:/crash.txt  //-d 是运行完自动停止的作用
手机APP ANR有问题,看日志
adb pull data/anr/traces.txt
查看系统中安装了哪些包:
adb shell pm list packages
获取序列号:
adb get-serialno
查看连接计算机的设备:
 adb devices
重启机器:
 adb reboot
重启到bootloader,即刷机模式:
 adb reboot bootloader
重启到recovery,即恢复模式:
 adb reboot recovery
查看log:
 adb logcat
终止adb服务进程:
 adb kill-server
重启adb服务进程:
 adb start-server
获取机器MAC地址:
 adb shell  cat /sys/class/net/wlan0/address
获取CPU序列号:
adb shell cat /proc/cpuinfo
安装APK:
adb install <apkfile> //比如:adb install baidu.apk
保留数据和缓存文件,重新安装apk:
adb install -r <apkfile> //比如:adb install -r baidu.apk
安装apk到sd卡:
adb install -s <apkfile> // 比如:adb install -s baidu.apk
卸载APK:
adb uninstall <package> //比如:adb uninstall com.baidu.search
卸载app但保留数据和缓存文件:
adb uninstall -k <package> //比如:adb uninstall -k com.baidu.search
启动应用:
adb shell am start -n <package_name>/.<activity_class_name>
查看设备cpu和内存占用情况:
adb shell top
查看占用内存前6的app:
adb shell top -m 6
刷新一次内存信息,然后返回:
adb shell top -n 1
查询各进程内存使用情况:
adb shell procrank
杀死一个进程:
adb shell kill [pid]
查看进程列表:
adb shell ps
查看指定进程状态:
adb shell ps -x [PID]
查看后台services信息:
adb shell service list
查看当前内存占用:
adb shell cat /proc/meminfo
查看IO内存分区:
adb shell cat /proc/iomem
将system分区重新挂载为可读写分区:
adb remount
从本地复制文件到设备:
adb push <local> <remote>
从设备复制文件到本地:
adb pull <remote>  <local>
列出目录下的文件和文件夹,等同于dos中的dir命令:
adb shell ls
进入文件夹,等同于dos中的cd 命令:
adb shell cd <folder>
重命名文件:
adb shell rename path/oldfilename path/newfilename
删除system/avi.apk:
adb shell rm /system/avi.apk
删除文件夹及其下面所有文件:
adb shell rm -r <folder>
移动文件:
adb shell mv path/file newpath/file
设置文件权限:
adb shell chmod 777 /system/fonts/DroidSansFallback.ttf
新建文件夹:
adb shell mkdir path/foldelname
查看文件内容:
adb shell cat <file>
查看wifi密码:
adb shell cat /data/misc/wifi/*.conf
清除log缓存:
adb logcat -c
查看bug报告:
adb bugreport
获取设备名称:
adb shell cat /system/build.prop
查看ADB帮助:
adb help
跑monkey:
adb shell monkey -v -p your.package.name 500

11)Android分析调试
logcat命令:
adb shell logcat -v time
bugreport命令:
这个命令也非常简单,但是在实际应用中非常有用,会有从开机之后详细的dumpsys,dumpstate和logcat信息,是一份完整的日志记录。对分析用户行为,异常信息,系统状态有很大的参考作用
adb shell bugreport > xxx.log
dumpsys命令:
这个查看系统信息,用的还是比较多的
  dumpsys [options]
        meminfo 显示内存信息
        cpuinfo 显示CPU信息
        account 显示accounts信息
        activity 显示所有的activities的信息
        window 显示键盘,窗口和它们的关系
        wifi 显示wifi信息
#查看应用com.tianxia.test的内存使用情况
adb shell dumpsys meminfo com.tianxia.test

top命令:
这个查看cpu信息太方便了
top -m 5 -t
按cpu大小列出5个进程列表,如果某个进程cpu过高,会导致手机发烫。同时利用这个信息,可以监控应用cpu的使用,以调整优化代码

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值