(^-^) 有了它们,Terminal调试设备就畅通无阻啦~!
Android定制化或物联网开发,熟练掌握adb和shell是必须的。可以方便的查看日志,使用工具,甚至修改系统参数,手指能触摸到的,它都能用命令实现,可谓非常之实用。
ADB连接
# 查看设备码:
adb devices
# 多设备时根据设备码shell:
adb -s <devicesNo> shell
# 重新挂载:
adb remount
系统信息
# 查看Android 版本:
adb shell getprop ro.build.version.release
# 查看Android_id:
adb shell settings get secure android_id
# 序列号:
adb get-serialno
# IMEI序号(4.4及以下):
adb shell dumpsys iphonesubinfo
# IMEI序号(5.0及以上):
adb shell service call iphonesubinfo 1
# 设备型号:
adb shell getprop ro.product.model
# 供电情况:
adb shell dumpsys battery
# 屏幕分辨率:
adb shell wm size
# 修改分辨率
adb shell wm size 1080x1920 (重置:reset)
# 密度:
adb shell wm density
# 屏幕参数:
adb shell dumpsys window displays
# MAC地址:
adb shell cat /sys/class/net/wlan0/address
# 设备IP地址的几种方式:
adb shell ifconfig | grep Mask
adb shell ifconfig wlan0
adb shell netcfg
安装&卸载
# 直接安装到 /data/data
adb install / uninstall demo.apk
# 保留数据和缓存文件,重新安装apk:
adb install -r demo.apk
# 安装apk到sd卡:
adb install -s demo.apk
# 卸载app但保留数据和缓存文件:
adb uninstall -k com.test.demo
# 文件推送到设备,例如推到了手机系统app目录:
adb push Demo.apk /system/app
日志
# 清除日志
adb logcat -c
# 打印dumpsys、dumpstate、logcat的输出,用于分析错误:
adb bugreport > bugreport.log
# 查看前台Activity:
dumpsys activity activities | grep mResumedActivity
# 正在运行的Services:
dumpsys activity services com.test.demo
# 应用详细信息:
dumpsys package com.test.demo
adb shell 下使用命令
# 查看进程:
ps
# 资源占用情况:
top
# push的文件一般要同步到缓存区:
sync
# 查看内存信息:
cat /proc/meminfo
# 查看CPU信息:
cat /proc/cpuinfo
# 查看中断信息:
cat /proc/interrupts
# 查看内核版本,编译时间:
cat /proc/version
# 查看系统gpio的名称,对应状态:
cat /d/gpio
# 更多硬件与系统属性:
cat /system/build.prop
# 查看系统当前各分区使用率,空间剩余量:
df
挂载
# 查看系统当前挂载关系:
mount
# 找到其中我们关注的带 /system 的那一行:
# /dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,seclabel,relatime,data=ordered 0 0
# 之后就可以操作 /system 下的文件了
mount -o remount,rw -t yaffs2 /dev/block/platform/msm_sdcc.1/by-name/system /system
am & pm
# 根据包类名启动一个apk,并且传递参数:
am start -n com.test.demo/.view.activity.SplashActivity --es "key" "hello, world"
# 停止App:
am force-stop com.test.demo
# 启动APK的一个action:
am start –a android.intent.action.DEVICETEST
# 清除对应apk的缓存信息:
pm clear com.test.demo
# 显示全部app
pm list packages(全部App)
pm list packages -s(系统App)
pm list packages -3 (非系统App)
pm list packages | grep 过滤符
# 查看安装目录:
pm path com.test.demo
模拟按键
input keyevent 4 返回
input keyevent 3 Home
WiFi
# 查看连接过的Wifi 密码 ssid 即为我们在 WLAN 设置里看到的名称,psk 为密码,key_mgmt 为安全加密方式:
cat /data/misc/wifi/*.conf
# 开启/关闭 WiFi:
svc wifi enable / disable
实用工具
更改系统时间 为 2016 年 08 月 23 日 13 点 15 分 00 秒:
date -s 20160823.131500
monkey 发送500个伪随机事件:
monkey -p com.test.demo -v 500
截图-->保存-->删除:
adb shell screencap -p /sdcard/1.jpg
adb pull /sdcard/1.jpg
adb shell rm /sdcard/1.jpg
录制屏幕 Control+C 结束:
adb shell screenrecord /sdcard/filename.mp4
adb pull /sdcard/filename.mp4
adb shell rm /sdcard/filename.mp4
重启
# 重启adb:
adb start-server / adb kill-server
# 重启到’Recovery‘模式:
adb reboot recovery
# 重启到’Fastboot‘模式:
adb reboot bootloader
# 5037端口被占用:
netstat -ano
taskkill /PID 1548