adb shell常用操作

软硬件环境

android 7.1.2

连接设备
第一步就是连接设备,后面的操作也是基于这一步的
adb connect 192.168.1.100

对某个特定设备进行操作
这里的前提是已经connect了多个设备,可以通过参数-s来指定某特定设备进行后续操作
C:\Users\djstava>adb devices
List of devices attached
192.168.1.100:5555 device
8D6TUCDI69D6G6AI device

对某个设备进行操作
adb -s 8D6TUCDI69D6G6AI shell

adb远程抓图
第一步进行截屏,保存在系统中可写的目录,然后使用adb pull拉取到本地目录
adb shell /system/bin/screencap -p /data/android_traffic_balance_01.png
adb pull /data/android_traffic_balance_01.png .

adb启动activity
直接启动
adb shell am start -n com.xugaoxiang/com.xugaoxiang.MainActivity

指定intent
adb shell am start -a intent_ACTION -c intent_category -n com.xugaoxiang/com.xugaoxiang.MainActivity

指定浏览器打开特定页面
如果系统中存在多个浏览器,可以选择使用特定浏览器打开某个页面
adb shell am start -a android.intent.action.VIEW -d http://google.com

列出所有app的包名
也可以通过grep进行过滤,加上-f参数可以获取apk对应的包名和存放路径
adb shell pm list packages

获取当前打开的app的包名
需要知道某个app的包名,打开app,然后执行下面命令查看
adb shell dumpsys window | findstr mCurrentFocus

可写方式重新挂载分区
adb root
adb remount

查看系统日志
adb shell logcat

获取apk对应的包名和路径
adb shell pm list package -f

关闭selinux

方法1

adb root
adb shell setenforce 0

方法2

adb root
adb shell
echo 0 > /sys/fs/selinux/enforce

模拟键值发送
这里主要针对遥控器
adb shell input keyevent $键值

这里的键值指的是android层的值,在文件frameworks/base/core/java/android/view/KeyEvent.java中定义,这部分内容可以参考前面的文章 android添加遥控器按键处理
模拟屏幕点击事件
模拟在坐标(200,200)位置的单击
adb shell input tap 200 200

模拟屏幕滑动事件
模拟从位置(200,200)滑动到位置(400,400)
adb shell input swipe 200 200 400 400

查看系统属性
adb shell getprop

要想得到具体某个属性值,在上述命令后跟上属性值
设置系统某个属性
adb shell setprop dalvik.vm.heapgrowthlimit 512m

Guess you like

Origin blog.csdn.net/hongranzuoxiang/article/details/119253056