如何使用Embeddinator-4000将Xamarin安卓项目转为.aar文件?
用Embeddinator-4000将Xamarin/C#代码导出为Android .aar的完整步骤
看起来你已经走对了第一步——安装Embeddinator-4000 NuGet包,不过后期生成命令没写完整,我帮你整理全流程,确保能顺利导出aar:
先确认前提
首先要注意:Embeddinator-4000主要是用来处理**Xamarin Class Library(Android)**项目,如果你是完整的Xamarin Android应用,建议先把需要复用的业务逻辑抽成独立的类库项目,再进行打包。
1. 完善后期生成事件命令
替换你现在的不完整命令,用下面这段完整的脚本(直接复制到项目属性→生成事件→后期生成事件命令行里):
set OUTPUT="$(SolutionDir)output" if exist %OUTPUT% rmdir /S /Q %OUTPUT% mkdir %OUTPUT% "$(SolutionDir)packages\Embeddinator-4000.0.3.0\tools\Embeddinator-4000.exe" "$(TargetPath)" --platform=Android --output=%OUTPUT% --target=aar
这段命令的作用:
- 先在解决方案根目录创建一个干净的
output文件夹作为输出目录 - 调用Embeddinator工具,把你编译好的Xamarin类库.dll文件,打包成Android平台的aar包,输出到刚才创建的目录里
2. 项目配置的关键细节
- 右键你的Xamarin类库项目 → 属性 → 生成:
- 勾选「生成XML文档文件」(可选但推荐,这样aar里会带API注释,原生开发时更方便)
- 确认目标Android框架版本和你原生应用的版本兼容(比如都用Android 12+)
- 代码层面:要被原生调用的类、方法必须是
public修饰的,不然原生代码访问不到
3. 执行生成并获取aar
右键项目选择「重新生成」,等编译完成后,去解决方案根目录的output文件夹里,就能找到生成的.aar文件了(一般会有两个,一个是核心库,一个是绑定依赖的包,按需使用)。
4. 导入到原生Android应用
把aar文件复制到原生Android项目的libs文件夹(没有就新建),然后在Module级别的build.gradle里添加依赖:
dependencies { implementation files('libs/你的aar文件名.aar') }
同步Gradle后,就可以在原生Java/Kotlin代码里调用你的C#逻辑了。
内容的提问来源于stack exchange,提问作者Vitali
相关产品推荐
相关产品推荐

