分享
golang调用minitouch,无root,远程点击安卓页面 ,2019年01月10日
尚酷米C · · 1564 次点击 · · 开始浏览这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
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部分代码
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信1564 次点击
下一篇:Mac快搭Go环境
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
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部分代码