热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Unity安卓下使用串口提示:System.DllNotFoundException:MonoPosixHelper的解决办法

照例,我不具体说我解决办法的辛酸经过。我所有的blog都不会告诉你是为什么。只简单粗暴的给出解决办法。核心思路是:在java层面实现串口消息收发,然后用
照例,我不具体说我解决办法的辛酸经过。我所有的blog都不会告诉你是为什么。只简单粗暴的给出解决办法。
核心思路是:
在java层面实现串口消息收发,然后用UnityPlayer.UnitySendMessage("unity_com","java_messgae", sss); 转发给Unity


而Unity则调用
 if (cls == null)
        {
            cls = new AndroidJavaClass("com.unity.FS.UnityPlayerActivity");
        }
        cls.CallStatic("unity_message", msg); 给java发数据,让java执行真正的发送函数。发往串口。
好了,办法说完了。不喜欢听我啰嗦的,可以自己去搜索怎么实现。
那么下面分解步骤:
1。去网上搜索lib_serialport。将下载回来的两个文件SerialPort.c SerialPort.h 两个.mk放到一个文件夹,例如jni文件夹。然后执行ndk-build.
看到这里,肯定很多人吐槽,去哪里下?下回来没有SerialPort.h只有.c。淡定我也是makefile出来的,但是稍后我会提供完整的用到的文件。当然,我的封装方法不一定适合你就是了。
比如UnityPlayer.UnitySendMessage("unity_com","java_messgae", sss); 网上大多是 Main Camera。 XXXX,而我认真负责的告诉你,只要场景中一直明确存在对应名字的对象就可以。
ndk-build是什么?请你自己去恶补基础知识。
然后将build出来的 obj libs jni 自己保存好。


2。打开unity,在场景里创建com消息接收对象比如这里是unity_com,给它挂载一个脚本,确保有java_messgae 这个接口就行。有人又要纠结函数怎么写,参数是什么。建议去别的地方搜。。比如宣雨松的blog。
void java_messgae(string str)
{
//str就是你收到的串口消息。我在java层将16进制转成字符串传过来的。
//当然,代码包里面有
}


3。导出unity工程为eclipse工程。这是个基本问题。但是我大发慈悲,上个图。


4。然后将刚才ndk-build出来的 三个文件夹拷贝到该工程根目录下。该工程是哪个该工程?你猜我说的是哪个工程?
5。去网上搜一个java使用串口的.java文件回来。然后自己再封装一个跟应用有关的。

具体可以去这里看看http://lpcjrflsa.iteye.com/blog/2097280

http://www.linuxidc.com/Linux/2012-05/61283.htm

如果懒得看,就用我封装好的。但是使用习惯不一定适合你。

6。打开eclipse,用java编写好串口收发的,然后编译apk即可。至于中间的环境搭建等基本问题,我相信遇到串口问题的人都会了。不啰嗦。一篇文章不可能教会你所有东西。


代码在这里

http://download.csdn.net/detail/glunoy/9637750


推荐阅读
  • 我正在使用 Ruby on Rails 构建个人网站。总体而言,RoR 是一个非常出色的工具,它提供了丰富的功能和灵活性,使得创建自定义页面变得既高效又便捷。通过利用其强大的框架和模块化设计,我可以轻松实现复杂的功能,同时保持代码的整洁和可维护性。此外,Rails 的社区支持也非常强大,为开发过程中遇到的问题提供了丰富的资源和解决方案。 ... [详细]
  • 在CentOS上部署和配置FreeSWITCH
    在CentOS系统上部署和配置FreeSWITCH的过程涉及多个步骤。本文详细介绍了从源代码安装FreeSWITCH的方法,包括必要的依赖项安装、编译和配置过程。此外,还提供了常见的配置选项和故障排除技巧,帮助用户顺利完成部署并确保系统的稳定运行。 ... [详细]
  • Ceph API微服务实现RBD块设备的高效创建与安全删除
    本文旨在实现Ceph块存储中RBD块设备的高效创建与安全删除功能。开发环境为CentOS 7,使用 IntelliJ IDEA 进行开发。首先介绍了 librbd 的基本概念及其在 Ceph 中的作用,随后详细描述了项目 Gradle 配置的优化过程,确保了开发环境的稳定性和兼容性。通过这一系列步骤,我们成功实现了 RBD 块设备的快速创建与安全删除,提升了系统的整体性能和可靠性。 ... [详细]
  • Python学习:环境配置与安装指南
    Python作为一种跨平台的编程语言,适用于Windows、Linux和macOS等多种操作系统。为了确保本地已成功安装Python,用户可以通过终端或命令行界面输入`python`或`python3`命令进行验证。此外,建议使用虚拟环境管理工具如`venv`或`conda`,以便更好地隔离不同项目依赖,提高开发效率。 ... [详细]
  • 本文详细介绍了如何在Linux系统中搭建51单片机的开发与编程环境,重点讲解了使用Makefile进行项目管理的方法。首先,文章指导读者安装SDCC(Small Device C Compiler),这是一个专为小型设备设计的C语言编译器,适合用于51单片机的开发。随后,通过具体的实例演示了如何配置Makefile文件,以实现代码的自动化编译与链接过程,从而提高开发效率。此外,还提供了常见问题的解决方案及优化建议,帮助开发者快速上手并解决实际开发中可能遇到的技术难题。 ... [详细]
  • 【前端开发】深入探讨 RequireJS 与性能优化策略
    随着前端技术的迅速发展,RequireJS虽然不再像以往那样吸引关注,但其在模块化加载方面的优势仍然值得深入探讨。本文将详细介绍RequireJS的基本概念及其作为模块加载工具的核心功能,并重点分析其性能优化策略,帮助开发者更好地理解和应用这一工具,提升前端项目的加载速度和整体性能。 ... [详细]
  • 深入解析Gradle中的Project核心组件
    在Gradle构建系统中,`Project` 是一个核心组件,扮演着至关重要的角色。通过使用 `./gradlew projects` 命令,可以清晰地列出当前项目结构中包含的所有子项目,这有助于开发者更好地理解和管理复杂的多模块项目。此外,`Project` 对象还提供了丰富的配置选项和生命周期管理功能,使得构建过程更加灵活高效。 ... [详细]
  • 设计模式深度解析:桥接模式的应用与实现
    设计模式深度解析:桥接模式的应用与实现 ... [详细]
  • 理工科男女不容错过的神奇资源网站
    十一长假即将结束,你的假期学习计划进展如何?无论你是在家中、思念家乡,还是身处异国他乡,理工科学生都不容错过一些神奇的资源网站。这些网站提供了丰富的学术资料、实验数据和技术文档,能够帮助你在假期中高效学习和提升专业技能。 ... [详细]
  • 本项目在Java Maven框架下,利用POI库实现了Excel数据的高效导入与导出功能。通过优化数据处理流程,提升了数据操作的性能和稳定性。项目已发布至GitHub,当前最新版本为0.0.5。该项目不仅适用于小型应用,也可扩展用于大型企业级系统,提供了灵活的数据管理解决方案。GitHub地址:https://github.com/83945105/holygrail,Maven坐标:`com.github.83945105:holygrail:0.0.5`。 ... [详细]
  • 本题库精选了Java核心知识点的练习题,旨在帮助学习者巩固和检验对Java理论基础的掌握。其中,选择题部分涵盖了访问控制权限等关键概念,例如,Java语言中仅允许子类或同一包内的类访问的访问权限为protected。此外,题库还包括其他重要知识点,如异常处理、多线程、集合框架等,全面覆盖Java编程的核心内容。 ... [详细]
  • 掌握PHP框架开发与应用的核心知识点:构建高效PHP框架所需的技术与能力综述
    掌握PHP框架开发与应用的核心知识点对于构建高效PHP框架至关重要。本文综述了开发PHP框架所需的关键技术和能力,包括但不限于对PHP语言的深入理解、设计模式的应用、数据库操作、安全性措施以及性能优化等方面。对于初学者而言,熟悉主流框架如Laravel、Symfony等的实际应用场景,有助于更好地理解和掌握自定义框架开发的精髓。 ... [详细]
  • 在稀疏直接法视觉里程计中,通过优化特征点并采用基于光度误差最小化的灰度图像线性插值技术,提高了定位精度。该方法通过对空间点的非齐次和齐次表示进行处理,利用RGB-D传感器获取的3D坐标信息,在两帧图像之间实现精确匹配,有效减少了光度误差,提升了系统的鲁棒性和稳定性。 ... [详细]
  • ylbtech-进销存管理解决方案:进销存管理,即购销链管理,涵盖企业从采购(进)、库存(存)到销售(销)的全流程动态管控。其中,“进”涉及从市场询价、供应商选择、采购执行直至货物入库及支付流程;“销”则包括产品定价、客户报价、订单处理及销售出库等环节。该解决方案旨在通过信息化手段,提升企业运营效率,优化库存结构,增强市场响应速度。 ... [详细]
  • 本课程详细介绍了如何使用Python Flask框架从零开始构建鱼书应用,涵盖高级编程技巧和实战项目。通过视频教学,学员将学习到Flask的高效用法,包括数据库事务处理和书籍交易模型的实现。特别感谢AI资源网提供的课程下载支持。 ... [详细]
author-avatar
-孙立佳得
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有