欢迎访问我的网站,希望内容对您有用,感兴趣的可以加入我们的社群。

adb shell常用操作

Android 迷途小书童 4年前 (2021-01-08) 3467次浏览 0个评论

软硬件环境

  • 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

android adb shell

获取当前打开的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
喜欢 (1)

您必须 登录 才能发表评论!