2
Juszoe 2019-03-11 09:57:38 +08:00
|
3
jxf2008 OP |
4
pursuer 2019-03-11 10:17:34 +08:00
集成 adb,像 360 qq 之类的 app 都这么做。或者手机打开 usb 热点然后电脑连上,但是可能会有意外的流量消耗。
|
5
tearslee 2019-03-11 10:21:49 +08:00
好奇,是通过 usb 链接的电脑,也就是说电脑与手机是在同一场景,为什么要通讯.
如果 usb 不是必须,那直接通过设置服务器,转发两个客户端的消息就行了 如果是必须 usb,那就是 adb 了, |
6
Lostars 2019-03-11 10:27:14 +08:00
莫不是做群控的
|
7
a1528026364 2019-03-11 10:27:31 +08:00
用 USB 连接,然后电脑跟手机通讯?这什么鬼逻辑需求啊
都有这环境了有必要么 |
8
fan123199 2019-03-11 10:27:37 +08:00
adb 很小的,集合进去不难
|
9
jxf2008 OP @tearslee
是这样的,客户要求把手机 APP 上的数据传给电脑,同时也可以把电脑上的数据传给手机 我们最初的解决方案,是把手机和电脑连同一个路由(手机通过路由的 wifi ),通过 TCP/UDP 通信,但这里有个问题,手机连上路由后要求设置静态 IP。因为只有知道手机的 IP,电脑软件才能向指定的 IP 发送消息 客户强烈反对这样做,他们的理由是软件的使用人员,把手机连接 wifi 后不会设置手机静态 IP 地址 另外还有个问题是,客户他们的使用环境中经常没有 wif |
11
jxf2008 OP |
12
fvckDaybyte2 2019-03-11 10:50:35 +08:00 via iPhone
@jxf2008 为什么 WiFi 要知道手机的 ip 才能连,直接广播不行嘛😑
|
13
jxf2008 OP |
14
manasheep 2019-03-11 11:06:35 +08:00
我做过,adb 可以读到手机 ip 数据,不用 tcpip 的话,可以考虑利用手机文件系统交互,无非就是两方程序写入带时间戳的命令,同时定时监测文件的变化以读取最新的数据,直连通讯方式没有试过,好像是不好弄,可能还不如去搞蓝牙通信方便。
|
15
slamDunkLINk 2019-03-11 11:14:02 +08:00
参考手机投屏?或者电脑投屏的手机?正好问下有没有如此的软件啊
|
16
jxf2008 OP @manasheep
现在的问题是,客户那边的环境限制,只能用 USB,因为客户那边电脑部分是台式机,且没有 wifi 使用 USB 网上找了很多文章都没办法绕过 adb,如果使用 adb 又会牵扯到另一个问题,如何把 adb 集成到我们的 PC 软件上 |
17
Nu11Po1nter 2019-03-11 11:30:37 +08:00
adb 依赖集成不难的.sdk/paltform-tool 目录下的 adb.exe 和几个 dll 文件就是了
|
19
swcat 2019-03-11 11:33:33 +08:00 via Android
集成 adb 那个简单啊,把编译好的 adb 放到你的软件的目录下就行了呀,那有什么难得,之前公司就是这样干的
|
20
soulzz 2019-03-11 11:51:42 +08:00
可以参考 https://github.com/Genymobile/gnirehtet
内置 adb.exe |
21
fox0001 2019-03-11 12:19:11 +08:00 via Android
adb forward,把手机端口(例如 12345 )映射到 PC 的端口(例如 12346 ),手机那边在开个服务(端口为 12345 )就可以了,PC 这边就跟 127.0.0.1:12346 这个端口通讯
|
22
sunzongzheng 2019-03-11 12:23:10 +08:00
去年大家做的跳一跳外挂,都是内置 adb,然后各语言实现像素分析,直接把 adb 的可执行文件内置就行
|
23
huage2580 2019-03-11 13:56:18 +08:00
集成 adb 是很简单的,或者说,adb 是必须的,至少做端口转发要用。就把文件夹拷贝好,然后命令运行下;你 pc 端的软件,就做个解压然后绝对路径运行命令,so seay
|
24
manasheep 2019-03-11 14:02:07 +08:00
@jxf2008 继承很简单,AdbWinUsbApi.dll AdbWinApi.dll adb.exe 这三个文件整合到你软件目录里就行了,软件调用它们就可以。
|
25
AngryMagikarp 2019-03-11 14:10:19 +08:00
很久以前我在 Linux 上做过 https://github.com/wiiiky/lucy
用得是 adb 的端口映射,好像是 adb forward。 adb 是用 C 写的,我把它集成到了 python 上,然后用 python+GTK 写了个 Linux 的客户端,可以和 Android 手机里的 APP 通信。 |
26
ju5t4fun 2019-03-11 14:12:44 +08:00
AOA 协议?
|
27
openbsd 2019-03-11 15:11:19 +08:00
adb 三个文件 1.6M 左右 打包 tar.gz 才 600 多 K 集成到 PC 端直接调用毫无难度,好用得 1P。可靠性和稳定性和 WIFI 完全不一个量级
|
28
fyyz 2019-03-11 15:42:04 +08:00
这需求太变态了,要用户开启 usb 调试就为了你们这点破需求?
不如用户在 app 里登录一个帐号,电脑的客户端也登录同一个帐号,然后在服务器进行指令转发? |
29
linghu1989122 2019-03-11 15:49:02 +08:00
mark 楼上的集成 adb 方案不错
|
30
jxf2008 OP @fyyz
1 客户有台式机,且很多环境没有 wifi 和网络,台式机没有蓝牙和 wifi,并且有可能是 window XP 系统 2 客户的用户水平较低,对于用户群体来说,手机连接 wifi 并查看手机 ip 地址这个非常困哪的操作 客户要求在考虑以上两点的情况下,完成电脑和手机 APP 的通信 |
31
linhua 2019-03-12 10:46:02 +08:00
安装 rndis 驱动,用 usb tethering
|