能否从iOS/Android原生项目引用.NET MAUI/.NET 8共享库?
原生iOS/Android项目引用.NET 8共享库的可行性方案
完全可行,.NET 8提供了成熟方案让原生移动项目调用.NET编写的共享业务逻辑,能实现类似Kotlin多平台的「共享逻辑片段」能力。
iOS平台实现步骤
- 用.NET 8创建多平台类库(指定iOS目标)或单独的iOS类库,编写完共享业务逻辑后,编译生成
.xcframework(跨架构通用)或.framework文件。 - 原生iOS开发者可直接将该框架导入Xcode项目,通过Swift或Objective-C调用.NET代码中暴露的API。
- 注意:确保.NET库中仅使用iOS支持的API,避免引入桌面/云专属的功能。
Android平台实现步骤
- 用.NET 8创建多平台类库(指定Android目标)或单独的Android类库,编译生成
.aar归档包。 - 原生Android开发者将
.aar作为依赖导入Android Studio项目,通过Kotlin或Java调用.NET代码的公共方法。 - 复杂交互场景可借助
Java.Interop机制处理跨语言类型映射,保证数据传递的兼容性。
通用注意事项
- 优先选择**.NET MAUI类库或.NET标准类库**编写共享逻辑,确保云、桌面、移动端逻辑一致。
- 暴露给原生的方法需用对应平台的导出属性标记:Android用
[Export],iOS用[ObjCRuntime.Export],让原生代码能识别调用。 - 跨平台传递复杂数据时,建议用JSON或Protobuf做序列化处理,避免类型不兼容问题。
内容的提问来源于stack exchange,提问作者JTIM
相关产品推荐
相关产品推荐

