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日

相关文章

  • 集成Health Kit时因证书问题出现错误码50063的解决方案

    一、问题描述及操作 应用集成Health Kit SDK后,在华为手机上进行登录授权时,返回错误码50063。 1、查看相关错误码。‘50063’在Health Kit错误码中的描述是“安装的HMS Core APK版本不匹配,无法调用接口。”提供的解决方案是“请安装最新版本的HMS Core(APK)后,再调用接口”。 2、根据文档中提供的解决方案,卸载了…

    Android 2023年4月17日
    00
  • 用户订阅付费如何拆解分析?看这篇就够了

    会员制的订阅付费在影音娱乐行业中已相当普及,近几年,不少游戏厂商也开始尝试订阅收费模式。在分析具体的用户订阅偏好以及订阅付费模式带来的增长效果时,我们常常会有这些疑问: 如何从用户的整体付费行为中具体拆解订阅付费事件并分析? 想要了解当前应用内用户的整体订阅概况? 订阅用户和非订阅用户在留存与付费偏好是否存在差异? …… 而这些都能在华为分析服务—订阅分析中…

    Android 2023年4月25日
    00
  • 应用内支付服务现网、沙盒环境下常见关键事件的对比与总结

    在集成和调试订阅型商品时,我们会依赖沙盒环境来进行模拟实际场景。 订阅型商品的购买流程和一次性商品的购买流程类似,但订阅还有其他细节场景,比如续订成功或失败,续订周期时长等。沙盒环境下的订阅续订时间会比正常情况更快,引入“时光机”概念帮助您快速测试您应用的订阅场景。比如订阅周期为1周,商品在3分钟后发生续期,此时订阅型商品有效期延长了3分钟。 下面对沙盒环境…

    Android 2023年4月18日
    00
  • 安卓常用shell命令大全

    前言 这篇笔记用来收集在日常开发中所用到的安卓adb shell命令,参照了一些大佬的再加上我自己平时用到的整理在了一块儿,感谢无私共享的大佬们。 将会持续更新,欢迎收藏~ 一、基本用法 命令语法 adb 命令的基本语法如下: adb [-d|-e|-s <serialNumber>] <command> 如果只有一个设备/模拟器连接…

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

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

    Android 2023年4月3日
    00
  • 钥匙环服务,打造无缝的跨设备登录体验

    近些年来,随着手机技术迭代更新越来越快,用户更换手机的周期也在缩短,在这样的背景下,开发者不得不面临以下问题: 同一开发者旗下常常有多个安卓应用和多形态应用(快应用和Web应用),用户更换一个新的设备(手机或平板)后,在新设备上登录各应用时每次都需要重复输入帐号和密码,导致用户在登录阶段流失率增加,同时开发者还需要承担额外的短信成本(如用户使用短信登录)。 …

    Android 2023年4月17日
    00
  • 这种开发方式你了解吗?

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

    Android 2023年4月25日
    00
  • 当我再次用Kotlin完成五年前已经通过Kotlin完成的项目后

      > 近日来对Kotlin的使用频率越来越高, 也对自己近年来写过的Kotlin代码尝试进行一个简单的整理. 翻到了自己五年前第一次使用Kotlin来完成的一个项目([贝塞尔曲线](https://juejin.cn/post/6844903556173004807)), 一时兴起, 又用发展到现在的Kotlin和Compose再次完成了这个项目. …

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