基本操作
查看 adb 版本
adb version
启动关闭服务
adb start-server
adb kill-server
检查5037端口是否被占用
若启动之后用USB连接手机之后,找不到设备,我们使用这个命令检查5037端口是否被占用,如果被占用,则提示
cannot bind 'tcp:5037'
。
adb nodaemon server
查看连接设备
adb devices
操作设备
进入设备
adb shell
进入多个设备
adb -s <device_name> shell
获取手机的序列号
adb get-serialno
查看手机屏幕分辨率
adb shell wm size
显示手机的cpu信息
adb shell cat /proc/cpuinfo
查看手机的设备型号
adb shell getprop ro.product.model
查看 Android 系统版本
adb shell getprop ro.build.version.release
查看手机 cpu类型是 ARM 还是 x86
adb shell getprop ro.product.cpu.abi
获取手机的 mac 地址
adb shell cat /sys/class/net/wlan0/address
查看 IP地址
adb shell ifconfig | grep Mask
显示手机里面所有应用的包名
adb shell pm list packages
查看内存信息
adb shell cat /proc/meminfo
查看硬件与系统属性
adb shell cat /system/build.prop
操作应用
安装 apk
adb install -r `<C:\Users\pando\Desktop\xxx.apk>`
卸载程序
adb uninstall <com.xx.xxx.xxx.xxx>
<com.xx.xxx.xxx.xxx>
为程序的 package。获取某个应用的包名和这个应用的启动入口
adb shell dumpsys activity | grep mFocusedActivity
其中,
com.xxxxxx
即为这个应用的包名,xxx.xxx.xxx.xxx.MainActivity
即为这个应用的启动入口。
通过ADB命令来启动应用
adb shell am start -n <package_name>/<package_name>.<activity_name>
其中,
<package_name>
代表应用的包名,<package_name>.<activity_name>
代表这个包的启动入口。
操作文件
从安卓机器 pull 文件到电脑
adb pull </storage/emulated/0/Download/xxx.apk> <C:\Users\xxx\Desktop\xxx>
推送本地文件到安卓指定位置
adb push <C:\Users\xxx\Desktop\xxx\xxx.apk> /storage/emulated/0/Download/
常见问题
adb 版本不匹配
adb server version (36) doesn’t match this client (41); killing…
原因:当前夜神模拟器的adb版本是36,android-sdk里面的adb版本是41,不匹配导致的。
解决:将 \android-sdk-windows\platform-tools 中 adb.exe 替换到模拟器根目录下的 nox_adb.exe。