1 准备
依照上篇博客的指引,需要准备以下工具:
1)虚拟串口工具
下载虚拟串口工具,可以下载参考文章中提供的链接,也可以直接百度搜索下载
安装并运行工具,并添加一对串口
2)串口调试工具
下载串口调试工具,百度一搜一大把,我使用的是这个:
直接运行exe就可以打开窗口,分别打开两个窗口去打开串口,测试两个串口之间的通信
2 动手
这个流程是本人亲测有效的,但不排除在其他人手里会出现问题。就像我最开始也是照着他人的博客撸的,但人家就是成功的到我这儿就不行了,我也很绝望的
1)准备模拟器
准备Android 4.4版本的模拟器,下载的是x86且不带Google APIs的system image
2)挂载串口
如果要挂载的模拟器和串口是打开的,则需要关闭才能挂载成功
打开cmd,进入AndroidSDK的目录下的tools目录,执行以下命令
emulator -avd Pixel_3a_XL_API_19 -writable-system -qemu -serial COM1
1
将其中的模拟器和串口的名称替换为自己的就好了,我这里是将COM1挂载到Pixel_3a_XL_API_19的模拟器上
没问题的情况下就能启动模拟器了,端口设置保持默认的就好了,点击确定就OK了
3)运行Demo
从下载一个别人写好的项目,运行起来,查看效果。
检测出4个地址,发现只有ttyS0和ttyS1能打开,ttyS1能和COM2成功通信,ttyS0不行。看网上的说法,貌似都不一样,不知道原理是啥
3 踩坑
看步骤貌似挺简单的,但由于在下知识匮乏,实施起来各种坑
1)报错:‘emulator’ 不是内部或外部命令
如果没有配置环境变量,会报:‘emulator’ 不是内部或外部命令 的错误。可以去配置,也可以进入安装的AndroidSDK下的tools目录下执行命令。
2)使用Android Studio自带的模拟器,第三方模拟器暂时不知道怎么使用
3)模拟器的名称
模拟器的名称的查看有两种方式:
a) 查看目录
我这边的目录是C:\Users\Shirley\.android\avd,一般应该都能在C盘的用户目录下找到。android文件夹
b) cmd命令
输入以下指令也能查看模拟器列表
emulator -list-avds
1
3)报错:Missing emulator engine program for ‘x86’ CPU
参考博客的指引,重新下载不带Google APIs的x86 Images, 然后再重启终端,重新输入命令
4)报错:Failed CreateFile (5)
#——#网上资料找找找,据悉返回5表示串口被占据了,需要关闭串口才能成功
注意,串口和模拟器都必须要关闭
5)关于模拟器的版本和Root的问题
最开始是使用Android 10.0 模拟器,连接上了但运行测试程序时结果还是失败。网上说模拟器要Root才行
然后开始给模拟器获取Root权限。找了个教程,教程是使用Android 8.0的,于是捣鼓了半天,结果终于在Android 8.0 的模拟器上Root成功,运行Demo时有四个串口地址,只有ttyS0可以打开,但是却不能通信。
后来想到是不是Android版本的问题,于是又试了Android 7.0 的,还是不行
各种想想想,各种找找找,最后看到一篇博客中使用Android 4.4,然后就试了下Android 4.4 版本的模拟器,结果一试就成功了,哈哈哈。还发现原来4.4的模拟机是root过了的,直接挂载串口就行了。
如果您觉得本文的内容对您的学习有所帮助:
关键字:
JCache与Spring整合