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部分代码