golang调用minitouch,无root,远程点击安卓页面

2019-01-10  本文已影响13人  夏树的宝马
linux 中进程间通信,有3中方式(因为是自己总结的所以与标准答案有误差),
1.ip+端口
2.文件名
3.一个全局的变量名

而我们minitouch就是采用的一个全局的变量名。
所以我们可以通过adb 把端口进行一个转发,然后进行通信
so我们可以通过直接通过go点击远程点击

解决步骤:
1.启动minitouch
2.连接minitouch,执行相关的命令
3.自行在安卓端启动一个服务(便于远程调用)

1.启动minitouch
(很简单,就不写代码了,可自行百度)
可参考
可参考

2.连接minitouch,执行相关的命令

package main

import (
    "net"
    "github.com/qiniu/log"
    "time"
)

func main() {
    conn,err:=net.Dial("unix","@minitouch")
    log.Println("连接中,爸爸给点力呀")
    if err != nil {
        log.Println("报错了操")
        log.Println(err)
        return
    }
    defer conn.Close()
    buf:=make([]byte,1024)
    n,err:=conn.Read(buf)
    if err != nil {
        log.Println("buf 中的错误")
        log.Println(err)
        return
    }

    if n>0{
        log.Println("读取返回的文本")
        log.Println(string(buf[:n]))
    }
    conn.Write([]byte("d 0 100 100 50\n"))
    conn.Write([]byte("c\n"))
    time.Sleep(time.Millisecond*100)
    conn.Write([]byte("u 0\n"))
    conn.Write([]byte("c\n"))
    //time.Sleep(time.Millisecond*100)
    log.Println("请求完成")
}

3.启动一个服务(自行在安卓端启动一个服务)
可参考

参考:
https://testerhome.com/topics/4400
同时参考部分atx部分代码

上一篇 下一篇

猜你喜欢

热点阅读