首页 > 其他分享 >Maui跨平台开发方案

Maui跨平台开发方案

时间:2024-10-23 18:58:20浏览次数:6  
标签:方案 调用 跨平台 so aar Maui Studio

基于Maui 开发一款跨组跨平台Android《语音助手》项目,背景:对接输入源算法组提供so模型动态库,执行指令。由于初次尝试开发Maui 跨平台调用so动态库,整体项目遇到了一些问题,记录一下。

整体解决方案:

 

1 本次开发结合两种编译器Android Studio和Visual Studio

 使用Andriod Studio 封装so动态库并编译成aar包,Visual Studio开发Maui项目。

2 在Maui中尝试调用So动态库的遇到无法找到函数入口。

对此采用NDK编译打包了一个 libtest.so 测试。验证了,JNI 的.so 是给Java 虚拟机调用的,用 .net无法调用。.net 可以调用标准C风格的 Add1函数,不能调用Add函数。对算法Jni的so库(非标准C接口库的so),封装了简单的demo aar 验证, 跨平台.net 可以调用得到结果。

参考:https://www.cnblogs.com/pylblog/p/17668994.html

 3 Android 中Java/Kotlin调用Jni so动态库规则,根据package 包名去合成到动态库Jni函数,Package 包名需要和Java后匹配

 4 Maui创建Java绑定库绑定aar包供Maui调用

 注意:修改asrandroidwrapper-debug.aar 属性为LibraryProjectZip。编译如果存在java 与C# 接口冲突建议直接在Android Studio 修改Android 源码最直接。如果是第三方的aar(Maven Central 或 JCenter),编译出现问题需要Metadata.xml文件。

例如: utilcodex-1.31.0.aar

包下载地址:https://mvnrepository.com/?__cf_chl_rt_tk=uY9lyW32tqBPyh1XsykqdYzEtlTrqQjui.pBcZDnKFI-1723685132-0.0.1.1-4522

Java 绑定元数据官方文档

https://learn.microsoft.com/zh-cn/previous-versions/xamarin/android/platform/binding-java-library/customizing-bindings/java-bindings-metadata

 

标签:方案,调用,跨平台,so,aar,Maui,Studio
From: https://www.cnblogs.com/terryK/p/18498094

相关文章

  • 望繁信科技荣获2022年度创新产品与解决方案大奖
    2022年12月28日,CSDN2022中国开发者影响力盛典暨CSDN企业生态汇在北京举行,同时揭晓了2022中国开发者影响力年度榜单。望繁信科技数字北极星凭借行业领先的技术创新与服务能力脱颖而出,与飞书、华为云、腾讯等知名产品共同荣获“年度创新产品与解决方案”奖。本次评选由CSDN和《新程序......
  • Camera摄像头在 Windows 中不工作的解决方案
    1.安装摄像头驱动 2.检查设备上的相机开关或按钮某些笔记本电脑和便携设备具有可打开或关闭相机的物理开关或按钮。关闭后,设备可能无法识别已安装相机,或可能导致相机显示带有斜杠的相机图像。如果笔记本电脑具有开关或按钮,请确保其处于打开位置,然后再使用相机。这些开关或......
  • Vite 优化配置方案
    前言Vite是一个快速的前端构建工具,特别适用于现代前端框架如Vue和React。为了进一步提升项目的性能和开发体验,我们可以对Vite进行一些优化配置。本文将介绍一些常见的优化策略,并提供详细的配置示例和注释。1.安装必要的插件首先,我们需要安装一些常用的Vite插件来帮......
  • 车轮胎胎压表气压计方案定制
    汽车轮胎的气压对其使用寿命有着至关重要的影响。过低的气压会导致轮胎变形增大,侧边易出现裂口,同时还会引发屈挠运动,使轮胎过度生热,加速橡胶老化,导致帘布层疲劳和帘线断裂。而过高的气压则会使轮胎帘线过度伸张,胎体弹性下降,增加行驶负荷,遇冲击时可能产生内裂和爆破,同时还会加......
  • 连锁超市会员管理系统设计与实现(源码+定制+开发)会员信息管理平台、超市会员系统开发、
    博主介绍:  ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W+粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台的优质作者。通过长期分享和实战指导,我致力于帮助更多学生......
  • 卡通渲染(描边方案)
    法线外扩Pass{Name"OutLine"CullFrontZWriteOnCGPROGRAM#pragmavertexvert#pragmafragmentfrag#include"UnityCG.cginc"structappdata{float......
  • Spring Boot 开发常见问题及解决方案汇总
    SpringBoot是目前Java开发中最受欢迎的框架之一,它简化了Spring框架的配置和部署流程。然而,开发者在使用SpringBoot过程中,也会遇到一些常见问题。本文将分析这些问题的排行,并提供相应的解决方案,帮助开发者更顺畅地进行SpringBoot开发。一、常见问题排行榜根据开发......
  • 汽配行业ERP整体解决方案
    文档是关于汽配行业ERP(企业资源计划)整体解决方案的介绍,由XXX演讲,崔永荣制作,时间为2019年某月某日。文档内容涵盖了汽配行业的产业链协同管理、协同管理特点与难点、业务组织管理特点与难点、企业发展及数字化管理诉求、U8+汽配行业数字化管理系统架构、智能制造建设方向、管理......
  • 工程车辆集团数字化转型SAP解决方案| 186页PPT
    PPT文档是关于工程车辆集团数字化转型的SAP解决方案的详细介绍。文档涵盖了行业与市场分析、经营管理核心赋能、组织架构、产品结构和工艺路线、业务调研需求总结、供应链管理、生产组织与物流管理、财务成本管理、信息化系统建设规划、项目实施计划、财务核算及控制业务需求等......
  • 高效集成:旺店通旗舰版与MySQL的数据对接方案
    旺店通旗舰版-其他入库单-->BI泰海-其他入库单表_原始查询(2024年起)数据集成方案在现代企业的数据管理中,如何高效、可靠地实现系统间的数据对接是一个关键挑战。本文将分享一个具体的技术案例,展示如何通过轻易云数据集成平台,将旺店通·旗舰奇门的数据无缝集成到MySQL数据库中。......