将.NET Standard类库转换为本地的aar/jar文件

5

目前,我们正在开发一个.NET Standard类库,将被不同的Xamarin.*平台使用。

我想知道是否有一种方法可以在本地Android项目中使用共享代码(可能会产生AAR/JAR文件)。

我需要这个功能的原因是,我们公司向我们的一个客户提供了一个AAR(由本地Android项目使用),我们希望保持单一的源基础,而不是两个。

先感谢您!

1个回答

9

更新:

名称已更改为 ".NET Embedding",当前版本为 v0.4。

新指南:

原始文章:

你可以使用 Mono 的 Embeddinator-4000

它支持各种语言的消费者,因此它将 .NET 代码呈现为目标语言中的惯用代码。 这是目前支持的语言列表:

  • Objective-C:将 .NET 映射到惯用的 Objective-C API。
  • Java:将 .NET 映射到惯用的 Java API。
  • C:将 .NET 映射到面向对象的 C API。

Embeddinator-4000 是一款工具,允许您的现有 .NET 代码(C#、F#等)被其他编程语言和各种不同环境所使用。

Java 目前处于 macOS、Windows 和 Android 的预览状态。

通过将 --platform= 命令行参数传递给 Embeddinator,可以选择平台。 目前支持 macOS、Windows 和 Android。

关于:https://mono.github.io/Embeddinator-4000/

作为 Android 所需的一部分,您需要 Xamarin.Android 7.4.99+ 和 Android Studio 3+(Java 1.8),但如果你正在使用 Xamarin 和 Java 构建 Android 应用程序,那么你已经拥有了它们。

注意:此工具处于预览状态,请查看开放问题并根据需要发布新问题。

关于:https://github.com/mono/Embeddinator-4000/issues

注意:这不是跨编译,而是在本机程序包中嵌入 Mono 运行时,允许 CIL 代码(AOT'd(即 iOS)或未经 AOT 处理)在不同的语言 / 运行时中运行。


太棒了,我会尝试的。非常感谢! - Tomer Domshlak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接