V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
nladuo
V2EX  ›  分享创造

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

  •  
  •   nladuo ·
    nladuo · 2018-11-03 23:30:03 +08:00 · 4075 次点击
    这是一个创建于 2215 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有的时候想写写安卓的脚本,不过用 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

    2 条回复    2021-02-19 11:40:31 +08:00
    LokiSharp
        1
    LokiSharp  
       2018-11-06 01:09:29 +08:00
    游戏脚本的话。。。云手机效率太低。。。我选择拆包模拟 API 做个脱机脚本。。。
    SAnii
        2
    SAnii  
       2021-02-19 11:40:31 +08:00
    感觉是好东西啊,作者有没有维护呀
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6040 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 02:12 · PVG 10:12 · LAX 18:12 · JFK 21:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.