如何使用Android模拟器实现windows虚拟串口通信调试
如何用Android模拟器调试串口
一、安装虚拟串口软件
虚拟串口软件推荐 Virtual Serial Port Driver 官网和 Virtual Serial Port Kit 官网 都可以免费试用15天。
这里以Virtual Serial Port Driver为例,打开安装好的Virtual Serial Port Driver,点击添加端口,会生成一对端口号,例如COM1、COM2。
测试虚拟串口是否正常工作
为了测试虚拟串口设备是否能正常工作,我们可以使用串口调试助手进行测试,这里以 友善串口调试助手 为例运行两个调试助手,端口选择与上图对应,其他配置需要一致,测试数据的收发是否正常。
二、AndroidStudio 模拟器挂载串口
先说结论,不推荐使用AndroidStudio自带的模拟器进行串口调试,因为实际测试中发现,当模拟器接收超过8字节的数据后会卡死闪退。一开始以为是代码哪里写的有问题,其实是谷歌官方的bug。
2.1 Android模拟器安装
从Android5.0之后,模拟器就默认没有root权限了,所以我们要安装一个带root权限的模拟器,在创建模拟器选择镜像的时候,选择名称中不带Google APIs的即可
2.2 映射串口到模拟器
首先进入AndroidSDK下的tools目录
Win + R 运行cmd 转到AndroidSDK下的tools目录,然后通过命令行方式启动模拟器
例如:第一步
cd AppData\Local\Android\Sdk\tools 根据自己的文件所在的路径
第二步
.\emulator.exe -avd 模拟器名称(Pixel_4a_API_31) -writable-system -qemu -serial 创建的虚拟串口设备端口(COM1)
也可以将以上代码复制到文本文件中保存,并修改后缀名为.cmd,以后双击即可启动
当出现这个界面时,属于正常启动,然后根据你需要的值来设置,一般默认设置就好。
成功启动后的模拟器会有这个提示
报以上错误是因为AndroidStudio模拟器没有启动,要让模拟器启动然后再关闭。
出现这个错误时是因为串口助手里面已经占用了,要先把他关掉
2.3 打开模拟器串口权限
映射成功后,打开串口可能会报SecurityException异常,这是因为没有读写权限,安装带root的模拟器也是为了这一步。这里以 /dev/ttyS0为例
执行以下命令:
.\adb.exe root
.\adb.exe shell
setenforce 0
chmod 777 /dev/ttyS0
这里设置四个端口号都打开权限,设置完成之后就可以正常接收数据了。
这里以GitHub上的一个demo举例。
按照前面的步骤设置完成后,在模拟器上启动demo,即可进行数据的接收。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架