用Unity打包Android程序并与PC端通过USB进行Socket通信(上)

编程知识 更新时间:2023-04-17 19:49:01

用Unity打包Android程序并与PC端通过USB进行Socket通信

前段时间,有个使用Unity打包做的Android项目,要求是:通信不能使用WIFI,电脑通过USB与手机相连接,进行通信。由于主要用C# 语言开发,可能我搜索的关键字不对,搜了好久才找到一点信息,后来通过搜索Android相关的,才搜到一些有用的信息。这里写一些作为纪录。

这篇主要将PC和Android程序通过ADB 手动配置连接,讲的稍微详细点,可能会比较啰嗦。
一、下载ADB工具
这里使用google android 开发中的SDK里面的与Android交互的工具ADB。可以直接从https://developer.android.google/studio/releases/platform-tools?hl=zh-cn 这里下载。可以根据Windows,Linux和mac环境的不同下载不同的版本使用。下载后,解压到一个文件夹。
二、Android手机(android平板,华为的也可以)配置
在手机上打开 <开发人员选项> 功能(各手机打开方式可能不一样,自行百度),打开USB调试选项,会弹出密匙相关弹窗,点击确定即可。使用 仅充电模式 就可以了。在开发人员选项中,找到网络相关设置,在USB配置选项中使用RNDIS(USB以太网)选项。现在就可以开设ADB操作了。
三、开启ADB配置
1、找到解压的目录
2、windows平台: win+R 输入 cmd 回车确定
假如我的目录是中F:/ win/platform-tools目录下,那么我输入的命令应该是:
(1)F: (进入F盘)
(2)cd F:/win/platform-tools (进入这目录,如下图)

(3)adb.exe (执行 里面的adb工具 的程序,会出现一些命令介绍,可以看看)

(4)adb start-sever (开启服务,注意对应的是5037 端口。对应的是 关闭服务:kill-sever 中上面的命令出现的介绍中有,可以看看介绍)

(5)adb devices (可以查看连接的设备,下图上面的指令是手机没连接电脑时显示的,下面的指令是手机连接上电脑之后显示的,连接是手机配置看“二、Android手机(android平板)配置”)

(6)使用 adb forward tcp:[portA] tcp:[portB] 命令 ,相当于更改ADB在PC和Android两端的端口,两边用的IP都是127.0.0.1,端口A 、B可以自定义,自定义范围在1-65535,但数值尽量在1-65535中间位置,避免和其他端口冲突。这部是关键步骤,可多看几遍。

原理:程序A端作为一个TCP客户端,尝试连接ADB在PC建立的服务端(B端),B收到的数据会被ADB自动转发的C端,C收到的消息再发送到程序D。
在上述命令中,portA 端口绑定的是服务器B,portB绑定的端口是D端。
在PC上的程序A,其TCP连接的端口是(127.0.0.1:[portA]),手机端应用D应该先启动,绑定的端口是(127.0.0.1:[portB])(如下图)


上述是在Win环境下与Android相连接,下面介绍在Linux环境下与Android连接。
Linux环境下与Android连接,大体上和上述一致。如果Linux不知道怎么操作,可以稍微看看linux基本用法就行。
1、还是在上述“一、下载ADB工具” 中的网址下载Linux版本的ADB工具,传到Linux一个目录中,解压。给解压后的 adb 文件赋可运行权限

2、打开一个终端,找到相应的目录,输入指令:
./ adb
./ adb start-server
./ adb forward tcp:[portA] tcp:[portB]

其他的基本和在win环境下相同,mac环境下我没有弄,应该也大同小异。

到此PC和Android通过USB的连接就完成了。可以在PC端写个TCP客户端,在Android 中写个TCP服务端(可以Unity写,然后打包安卓程序)。先运行Android上的程序,再运行PC上的程序,就可以测试。

这是上篇,下篇中介绍一些简单代码,用程序打开ADB运行,不用每次都打开cmd或命令终端配置。

更多推荐

用Unity打包Android程序并与PC端通过USB进行Socket通信(上)

本文发布于:2023-04-14 03:26:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/dfe2e2666af6b8c38c360bb2e4ea3f9d.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:并与   通信   程序   Android   Unity

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 74541文章数
  • 14阅读数
  • 0评论数