Android模拟器调试串口

一、安装虚拟串口软件

虚拟串口软件推荐 Virtual Serial Port Driver 官网Virtual Serial Port Kit 官网 都可以免费试用15天。

这里以Virtual Serial Port Kit为例,打开安装好的Virtual Serial Port Kit,点击菜单栏的新增图标

Android模拟器调试串口

然后选择两个端口点确定即可
Android模拟器调试串口

1.1 测试虚拟串口是否正常工作

为了测试虚拟串口设备是否能正常工作,我们可以使用串口调试助手进行测试,这里以 友善串口调试助手 为例

运行两个调试助手,端口选择与上图对应,其他配置需要一致,测试数据的收发是否正常。

Android模拟器调试串口

二、AndroidStudio 模拟器挂载串口

先说结论,不推荐使用AndroidStudio自带的模拟器进行串口调试,因为实际测试中发现,当模拟器接收超过8字节的数据后会卡死闪退...
一开始以为是代码哪里写的有问题,其实是谷歌官方的bug。

2.1 Android模拟器安装

从Android5.0之后,模拟器就默认没有root权限了,所以我们要安装一个带root权限的模拟器,在创建模拟器选择镜像的时候,选择名称中不带Google APIs的即可

Android模拟器调试串口

2.2 映射串口到模拟器

首先进入AndroidSDK下的tools目录
Android模拟器调试串口

Win + R 运行cmd 转到AndroidSDK下的tools目录,然后通过命令行方式启动模拟器

.\emulator.exe -avd 模拟器名称 -writable-system -qemu -serial 创建的虚拟串口设备端口

例如:.\emulator.exe -avd Nexus_10_API_30 -writable-system -qemu -serial COM4

可以将以下代码复制到文本文件中保存,并修改后缀名为.cmd,以后双击即可启动

注意修改为自己电脑上的对应路径和盘符!!!
注意修改为自己电脑上的对应路径和盘符!!!
注意修改为自己电脑上的对应路径和盘符!!!

D:
cd D:\Android\android-sdk\tools
.\emulator.exe -avd Nexus_10_API_30 -writable-system -qemu -serial COM4

没有问题的话就会出现以下对话框,按自己的需求选择

Android模拟器调试串口

成功启动后的模拟器

Android模拟器调试串口

2.2 打开模拟器串口权限

映射成功后,打开串口可能会报SecurityException异常,这是因为没有读写权限,安装带root的模拟器也是为了这一步。
这里以 /dev/ttyS0为例

执行以下命令

.\adb.exe root
.\adb.exe shell
setenforce 0 
chmod 666 /dev/ttyS0

Android模拟器调试串口

设置完成之后即可收发数据

三、Genymotion模拟器挂载串口

3.1 安装Genymotion模拟器

Genymotion下载,选择带VirtualBox版本安装,一路下一步即可完成安装。
完成安装后打开软件,点击+号图标添加一个模拟器,默认设置即可

Android模拟器调试串口

3.2 映射串口

打开Oracle VM VirtualBox 选中刚才创建的模拟器,点击设置,如果已经启动了模拟器,需要先关闭。
切换到串口设置,有4个端口 我们启用第一个

Android模拟器调试串口

端口编号:COM1~COM4 分别对应/dev/ttyS0 ~ /dev/ttyS3,如果在应用中操作的是ttyS0,这里的端口编号应该选择COM1,
一定要对应,不然打开串口的时候还是会报SecurityException异常。

端口模式:选择主机设备
路径/地址 :输入在虚拟串口软件中设置的端口 ,比如COM1

点击确定即可完成映射,如果遇到权限拒绝,参考2.2 临时关闭防火墙 修改串口的可读写权限
Android模拟器调试串口

原文链接:https://www.cnblogs.com/komine/p/17283571.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Android模拟器调试串口 - Python技术站

(0)
上一篇 2023年4月17日
下一篇 2023年4月17日

相关文章

  • 这种开发方式你了解吗?

    随着移动互联网的发展,移动应用程序的需求越来越高,而原生应用程序的开发成本和时间较高,导致一些企业选择采用H5技术构建应用程序。 但是,H5技术在性能、用户体验、功能等方面仍有局限性,因此,有些企业转而选择「hybrid + 小程序」技术架构来构建应用程序。 相对于H5应用程序,小程序在用户体验、性能、功能等方面有很多优势。首先,小程序不需要像H5应用程序那…

    Android 2023年4月25日
    00
  • Android报”NoClassDefFoundError”如何解决?

    “NoClassDefFoundError”异常表示在运行时,Java Virtual Machine(JVM)试图根据一个类型的信息加载类,但是该类在编译时存在,而在运行时却无法被找到。这个异常通常表示在编译阶段和运行阶段之间出现了不匹配的问题,例如将JAR文件添加到build path中,但该JAR文件中的某些类在应用程序运行时无法找到。 以下是两种可能…

    Android 2023年4月3日
    00
  • 语言录制兼容长按跟点击录制

    录音需求中,往往有两种常规操作。 长按基本实现流程: 监听触摸事件,按下时录制,抬起时停止。 点击基本流程: 点击开始录制,在次点击停止录制 但是凡事有绝对,如果需要同时支持长按录制抬起结束跟点击录制在次点击结束呢?面对如此无理的需求,从技术层面上怎么如丝滑般去兼容呢。 需要两者兼容,只能从触摸事件入手了,这里的重点其实就在于怎么在触摸事件中去区分点击事件跟…

    Android 2023年4月22日
    00
  • 投放视频广告时,如何快速与第三方播放器兼容?

    新媒体时代,广告样式越来越丰富。相较于传统的图文信息,视频类广告更具有直观性,能够让消费者在了解产品知识和功能的同时加深对产品的印象。 因此在各类网站或App上投放视频类广告是个很好的宣传方式,但广告商们如果想在网站上展示视频广告,必须确保视频广告投放协议与发布渠道的播放器兼容;如果不能兼容,广告商或者视频广告投放平台必须创建不同的响应,来与特定视频播放器兼…

    Android 2023年4月17日
    00
  • 当我第一次通过Kotlin和Compose来实现一个Canvas时, 我收获了什么?

    当我第一次通过Kotlin和Compose来实现一个Canvas时, 我收获了什么? 自从2019年Google推荐Kotlin为Android开发的首选语言以来已经经历了将近四年的时间, Compose的1.0版本也发布了将近2年的时间, Kotlin+Compose在现阶段的Android开发过程中还远远达不到主流的程度. 我们是否应该开始尝试这个组合?…

    Android 2023年4月27日
    00
  • 安卓ro.serialno产生的整个流程

    前言: 关于ro.serialno这个属性,相信大家都不陌生了,应用层的Build.getSerial(),Build.SERIAL等均是直接或间接的获取了这个属性值。接下来从boot到系统应用,小小的分析一下它的整个流程: 由于是APP经常使用,那我们从应用层分析到底层kernel/boot 一,framework层 好的,我们进入安卓源码目录,grep查…

    Android 2023年4月18日
    00
  • Android报”ClassCastException”如何解决?

    Android中,”ClassCastException”异常表示向下转型时出现类型转换错误。通常情况下,这种错误可能是由于将一个对象引用从其父类转换为其子类时发生的,而该对象实际上不是该子类的实例。此时会抛出ClassCastException异常。 处理”ClassCastException”异常最常见的方法是使用合适的Java类型检查和类型转换技术,以…

    Android 2023年4月3日
    00
  • 【FAQ】关于华为推送服务因营销消息频次管控导致服务通讯类消息下发失败的解决方案

    一. 问题描述 使用华为推送服务下发IM消息时,下发消息请求成功且code码为80000000,但是手机总是收不到消息; 在华为推送自助分析(Beta)平台查看发现,消息发送触发了频控。 二. 问题原因及背景 2023年1月05日起,华为推送服务对咨询营销类消息做了单个设备每日推送数量上限管理,具体数量上限可以查看如下文档:不同应用类别的推送数量上限要求。 …

    Android 2023年4月19日
    00
合作推广
合作推广
分享本页
返回顶部