一、电脑下载并安装SDK Platform Tools



下载后的文件:platform-tools_r30.0.4-windows.zip(大约12M)
接着解压文件到指定目录

解压后的路径与文件,接着为工具目录添加系统环境变量

验证安装结果

#执行命令
adb version


验证安装结果

手机连接电脑USB后执行adb devices 查看手机连接状态

查询已连接设备/模拟器:adb devices

此处连接手机,需要手机在开发者模式开启USB调试功能。顺便也开启模拟按键功能,后面会用到。

该命令经常出现以下问题:

offline —— 表示设备未连接成功或无响应;

device —— 设备已连接;

no device —— 没有设备/模拟器连接;

List of devices attached 设备/模拟器未连接到 adb 或无响应

简单获取手机屏幕坐标的方法

方法1、进入手机的开发者模式,打开在手机上实时显示坐标的功能,长按屏幕位置自动显示坐标

方法2、使用android adb shell命令获取

# 截屏到手机
adb shell screencap /sdcard/screen.png
# 将手机上刚才的截图上传到电脑
adb pull /sdcard/screen.png  /Users/Administrator/Desktop/screen.png

从原始图片上,使用PS扣出自己想要的局部图片,然后使用下面的代码获取局部图片在原始图片上的坐标
不会使用PS,可以直接使用截图在原始图片上截图,但是没PS精细。

import aircv as ac# 根据图片在图片上查找坐标
# imgsrc=原始图像,imgobj=待查找的图片,confidence=设置匹配系数
def matchImg(imgsrc, imgobj, confidence=0.2):imsrc = ac.imread(imgsrc)imobj = ac.imread(imgobj)match_result = ac.find_all_template(imsrc, imobj, confidence)return match_resultif __name__ == '__main__':p = matchImg("C:\\Users\\Administrator\\Desktop\\screen.png", "C:\\Users\\Administrator\\Desktop\\daicha.png")print(p)

使用python操控手机

import os
import timedef execute(cmd):adbstr = 'adb shell {}'.format(cmd)print(adbstr)os.system(adbstr)if __name__ == '__main__':while True:# 点击位置一execute("input tap 350 2200")time.sleep(3)# 点击位置二execute("input tap 970 135")time.sleep(5)

adb模拟按键操作

1.模拟文本输入操作

## 模拟输入abc
adb shell input text abc

2.通过键值模拟按键操作

## 模拟按back键
adb shell input keyevent 4
## 或者
adb shell input keyevent KEYCODE_BACK

3.通过坐标模拟点击操作

## 点击横坐标300,纵坐标500的点
adb shell input tap 300 500

4.通过坐标模拟滑动操作

## 从(200,300)的点划到(500,300)的点,滑动时间100ms
adb shell input swipe 200 300 500 300 100

5.通过坐标模拟拖动操作

## 从(100,1220)的点拖动到(500,620)的点,滑动时间2000ms
adb shell input draganddrop 100 1220 500 620 2000

6.通过坐标模拟长按滑动操作注意与滑动操作的区别

按住不放,从(200,300)的点划到(201,301)的点,滑动时间2000ms,由于划动距离短,时间长,在一个图标之内则主观显示为长按操作

可以将游戏背包的物品拖动,扔到仓库。

adb shell input swipe 200 300 201 301 2000

7.模拟实体键长按操作

通过 getevent & 获取实体键键值


/dev/input/event4: 0001 0074 00000001
/dev/input/event4: 0000 0000 00000000
/dev/input/event4: 0001 0074 00000000
/dev/input/event4: 0000 0000 00000000

0074为电源键键值,转换为十进制为116,编写如下脚本

sendevent /dev/input/event4 1 116 1
sendevent /dev/input/event4 0 0 0
sleep 4
sendevent /dev/input/event4 1 116 0
sendevent /dev/input/event4 0 0 0

8.通过坐标/键值模拟同时按下两个键,用and连接

## 电源键亮屏并滑动解锁
adb shell input keyevent KEYCODE_POWER and KEYCODE_MENU

android adb shell 常用命令

android adb shell官方命令(英文)https://adbshell.com/

以下命令来源:https://www.jianshu.com/p/ccd35afa8470

1.模拟点击

adb shell input tap 100 100

2.滑动

adb shell input swipe x1 y1 x2 y2
adb input touchscreen swipe x1 y1 x2 y2 100adb shell input swipe 100 100 400 100  300 #左往右
adb shell input swipe 400 100 100 100  300 #右往左
adb shell input swipe 100 100 100 400  300 #上往下
adb shell input swipe 100 400 100 100  300 #下往上
adb shell input swipe 100 100 400 400  300 #上往下斜
adb shell input swipe 400 400 100 100  300 #下往上斜

3.长按

adb shell input swipe 100 100 100 100  1000 //在 100 100 位置长按 1000毫秒adb shell input swipe 367 469 367 469 800

4.打印所有包名

adb shell pm list packages➜  ~ adb shell pm list packages
package:com.huawei.floatMms
package:com.android.defcontainer
package:com.tencent.mm

5.打印制定包的apk路径

adb shell pm path com.android.phone➜  ~ adb shell pm path com.huawei.android.launcher
package:/system/app/HwLauncher6.apk

6.删除制定包

adb shell pm clear com.test.abc

7.截图

adb shell screencap /sdcard/screen.png
adb pull /sdcard/screen.png #下载到本地

8.获取被点击的位置信息

adb shell getevent>
/dev/input/event0 3 39 3e1
/dev/input/event0 1 14a 1
/dev/input/event0 1 145 1
/dev/input/event0 3 35 406  //x坐标
/dev/input/event0 3 54 1083  //y坐标
/dev/input/event0 0 0 0
/dev/input/event0 3 39 ffffffff
/dev/input/event0 1 14a 0
/dev/input/event0 1 145 0
/dev/input/event0 0 0getevent -l -c 16
输出所有event设备的基本信息add device 1: /dev/input/event2name:     "hi6421_on"
could not get driver version for /dev/input/mouse0, Not a typewriter
add device 2: /dev/input/event4name:     "huawei,touchscreen"
add device 3: /dev/input/event0name:     "mhl_rcp_dev"
could not get driver version for /dev/input/mice, Not a typewriter
add device 4: /dev/input/event1name:     "hisi_gpio_key.14"
add device 5: /dev/input/event3name:     "hi3630_hi6401_CARD Headset Jack"getevent -c 10 //输出10条信息后退出
getevent -l  //将type、code、value以对应的常量名称显示

9.打开对应的activity

adb shell am start -n {包(package)名}/{包名}.{活动(activity)名称}adb shell am start com.songheng.eastnews/com.oa.eastfirst.activity.WelcomeActivity

10.获得当前活动窗口的信息,包名以及活动窗体

adb shell dumpsys window windows | grep mCurrent

11.包名管理命令,获得对应包名的对应apk路径

adb shell pm  path com.migu.lobby

12.使用dumpsys命令可以查看Android手机当前正在运行的Activity

adb shell dumpsys activity activities | findstr "Run"

13.使用 uiautomator dump 获取app上的页面元素

adb shell uiautomator dump /data/local/tmp/uidump.xml
adb shell uiautomator dump /sdcard/dump.xml

14.下载文件

adb pull /sdcard/demo.mp4

15.上传文件

adb push test.apk /sdcard

16.息屏

adb shell input keyevent 26

17.keyevent

adb shell input keyevent 20 #向下adb shell input keyevent 4 #返回adb shell input keyevent 3 #Homeadb shell input keyevent 6 #挂机adb shell input keyevent 84 #搜索adb shell input keyevent 26 #电源adb shell input keyevent 24 #音量+adb shell input keyevent 25 #音量-

18.输入框输入

adb shell input text "ANDROID"

19.利用无线来查看adb shell

> adb tcpip 5555连接:
> adb connect IP:5555

20.查看所有已经连接上的设备

adb devices

21.安装卸载

adb install <apk文件路径>
adb install -r <apk文件路径>     通过install命令来安装apk文件,-r参数可以重新安装某个应用并保留应用数据adb install -r ~/chrome.apk卸载应用:
adb uninstall <软件名>
adb uninstall -k < 软件名>         如果加 -k 参数,为卸载软件但是保留配置和缓存文件adb uninstall com.android.chrome

22.关机命令

adb shell
su
reboot -p

电脑使用python操控安卓手机相关推荐

  1. python获取安卓手机的屏幕_[Python]从安卓手机获取屏幕截图

    按照惯例首先是准备环境啦: 一.配置adb 1.找到android sdk的本地路径, adb命令在platform-tool下面,记为XXXX 我的路径是(/Applications/eclipse ...

  2. Python读取安卓手机GPS信息

    问题描述:使用Python读取安卓手机GPS信息,要求手机已经打开GPS. 思考一下: 1)如何在安卓手机上编写Python程序: 2)如何调用安卓系统提供的功能: 3)如何读取GPS数据. 思考上面 ...

  3. 电脑控制android 源代码,[源代码]电脑通过adb控制安卓手机

    [实例简介] vs2008编译通过,电脑通过adb控制安卓手机拨打电话,发短信,控制微信自动加好友,安卓版本4.3以上,主要是通过读取手机当前界面的元素布局,保存到xml,然后通过xml解析出各个控件 ...

  4. 【安卓】电脑执行脚本控制安卓手机

    电脑执行脚本控制安卓手机 一.通过安卓的ADB(需要会安卓开发) 二.Total Control(推荐/简单) http://tc.sigma-rt.com.cn/index.php 三.待补充

  5. 笔记本连接android手机,安卓手机连接电脑,详细教您安卓手机怎样连接电脑

    有很多时候我们都需要将手机与电脑进行连接,将手机的资料或者是电脑上的资料拷入另外一边,可以通过usb或者是数据线将两者连接来达到这一目的,usb是以前算是古老的办法了,现在科技非常发达,只需要将电脑和 ...

  6. 电脑浏览android,直接在电脑上浏览操作安卓手机

    直接在电脑上浏览操作安卓手机 2020-10-30 19:46:18 15点赞 168收藏 4评论 前些时间我们介绍了坚果手机 R2 和 TNT系统. 这个方案可以让我们将手机插上屏幕,在办公桌前「假 ...

  7. Android连上USb不充电,为什么手机usb连不上电脑只显示充电 安卓手机解决方法

    您可能感兴趣的话题: 手机 usb 核心提示:为什么手机usb连不上电脑只显示充电 安卓手机解决方法 经常遇到手机usb链接电脑后没有反应,但是显示手机充电,这种问题该怎么解决呢? 一般情况下,手机通 ...

  8. 通过python实现安卓手机与stm32串口通信

    一.材料 (1)安卓终端1台,本文使用的魅蓝手机 (2)stm32微控制器(可以串口通信的) 二.通信内容 上位机发送AA,熄灭stm32上的LED灯 上位机发送BB,点亮stm32上的LED灯 上位 ...

  9. Android实战--远程操控安卓手机

    又到了实战的时候了,这次我们来玩远程操控安卓手机. 市面上流行了很多安全卫士软件,它们都拥有远程操控手机的功能,如播放报警铃声,获取手机位置等等,这次我们就来看看怎么实现这些功能. 报警铃声的实现 说 ...

  10. win10android文件传输,win10电脑如何发送文件到安卓手机?win10电脑发送文件到安卓手机的方法...

    现在办公离不开电脑,我们在电脑上编辑好了办公文档,需要导入手机里面保存,那么电脑怎么发送文件到安卓手机?从电脑上传送文件到手机上的方法有很多.这里以安卓手机为例,和大家说说将win10电脑发送文件到安 ...

最新文章

  1. 2017阿里云TECH INSIGHT干货分享第六届隆重回归
  2. android修改系统设置权限_如何给PDF设置权限,使PDF不能被修改?
  3. 链内容百度新算法怎样判断高质量外链和原创内容
  4. 给缺少Python项目实战经验的人
  5. 第二次裸辞_潜伏期_一些感想
  6. .NET的RedisProvider
  7. linux系统键盘响应时间,怎样提高使用Linux键盘的效率
  8. python可以封装成独立程序吗_windows环境下把Python代码打包成独立执行的exe
  9. Maven 私服的简单使用
  10. 01 linux操作系统概述与安装
  11. 用 Java 实现人脸识别功能
  12. TSX常见简单用法(入门) Vue3+Vite
  13. VUE项目(仿商城)
  14. 除了缓存,浏览器还有哪些存储数据的方式?
  15. ubuntu pstack报错:Input/output error
  16. python3:urllib/urllib2
  17. 2022年乡村医生考试练习题及答案
  18. 2023年全国最新会计专业技术资格精选真题及答案59
  19. iNFTnews | 我们将如何进入元宇宙?盘点那些有可能成为“元宇宙入口”的方式?
  20. Expected linebreak to be unix (linebreaks) 的报错解决

热门文章

  1. 通信系统仿真原理与无线应用笔记-MATLAB
  2. 知识付费的多重属性与本质特征
  3. 航空三字代码表_目前最全的航空城市三字代码表
  4. 基于javaweb的客户信息管理系统搭建
  5. 链克价格一路高涨,简单 5 招让你快速获取链克
  6. 批量网刻操作系统(使用GHOST工具)
  7. wordpress付费阅读_2020年27个最佳WordPress杂志主题[免费+付费]
  8. oninput和onpropertychange以及其兼容处理
  9. MATLAB求导函数diff(a,b,c)
  10. C++车辆管理系统课程设计