MAUI和Android、IOS的互操作之Android篇

MAUI调用Android库类有点像winform调用C++的库,本质上是C#与Java、C#和C++之间的互操作,ios也是一样的,C#与objective c/swift的互操作。C#与Java的互操作在MAUI会简单一点把Jar引入到Android绑定项目就可以自动生成对应的C#方法方便调用,下面介绍一下Android如何操作。

1.新建一个Android项目
image
2.接着新建一个Java库模块
image
3.在Java库模块添加一个方法给maui调用
image
4.在Android项目里面引用模块并且启动app,这一步是为了验证方法能不能正确执行,不需要可以跳过
image
image
image
image
5.打包jar,输出的jar包在lib/build/libs/lib.jar
image
6.接着打开MAUI项目,并且新建一个Android绑定的项目,把jar放到Android绑定项目并设置为AndroidLibrary,Android绑定项目内部会把jar的类和方法转成C#的类和方法
image
7.把Android绑定项目引用到MAUIAPP5项目,这个时候MAUIAPP5项目会有感叹号,需要在MAUIAPP5.csproj修改一下
image
8.修改MAUIAPP5项目的启动页面,最后正常调用jar封装的方法
image

总结:
以上是Android jar包的互操作,ios的流程也类似,只是需要一个工具把头文件成C#代码,具体操作可以参考如下链接:
绑定 iOS 库分别介绍了如何绑定Objective-C和swift。
还有一个Maui.NativeLibraryInterop这个项目也很有参考价值,微软官方提供的demo。
跨平台框架的优势是一套ui代码各个平台可以用,劣势就是与需要与各个平台的sdk互操作的时候有点麻烦。

参考文章:
1、https://learn.microsoft.com/zh-cn/dotnet/communitytoolkit/maui/native-library-interop/get-started
2、https://github.com/CommunityToolkit/Maui.NativeLibraryInterop
3、https://learn.microsoft.com/zh-cn/previous-versions/xamarin/ios/platform/binding-objective-c/
4、https://learn.microsoft.com/zh-cn/previous-versions/xamarin/ios/platform/binding-swift/
5、https://learn.microsoft.com/zh-cn/previous-versions/xamarin/android/platform/binding-java-library/
6、https://learn.microsoft.com/zh-cn/dotnet/android/binding-libs/binding-java-libs/binding-java-library

posted @ 2025-09-10 16:17  长空nice  阅读(41)  评论(0)    收藏  举报