PyAndroidControl:用 Python 脚本控制安卓设备

2018-11-03 23:30:03 +08:00
 nladuo

有的时候想写写安卓的脚本,不过用 java 或者 kotlin 写图像处理什么的太麻烦了,按键精灵的脚本我也懒得学。adb 倒是可以,但是很多时候要用电脑,又有些不太方便。感觉现在云手机比较方便吧,比如说:红手指、爱云兔这种,我比较喜欢用云手机这种挂一挂机,在手机上随时都能看看挂机的进度什么的。

于是就写了个基础的安卓端的接收器,用来接收服务端 python 的控制命令,从而对安卓机进行操控。

架构如下:

其实就是 App 每隔一段时间上传截图给 web 端,然后可以用 python 做一波图像搜索或者是别的什么东西随意,然后返回命令给 App 端,然后 App 执行相应命令。

例子:
token 用来区分主机,img_file 是图片,然后 cmds 是安卓的 shell 命令。(这里需要 root 权限)

def get_commands(token, img_file):
    """ analyze the screenshot and send 
         commands back to android device """
    img_file.save("tmp.png")
    print(token)

    # your adb shell commands
    cmds = [
        'input text "111"',
        'input text "222"',
        'input text "333"',
    ]
    return cmds

效果图:

最后是链接地址: https://github.com/nladuo/PyAndroidControl

3873 次点击
所在节点    分享创造
2 条回复
LokiSharp
2018-11-06 01:09:29 +08:00
游戏脚本的话。。。云手机效率太低。。。我选择拆包模拟 API 做个脱机脚本。。。
SAnii
2021-02-19 11:40:31 +08:00
感觉是好东西啊,作者有没有维护呀

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/504203

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX