目前,我们正在开发一个.NET Standard类库,将被不同的Xamarin.*平台使用。
我想知道是否有一种方法可以在本地Android项目中使用共享代码(可能会产生AAR/JAR文件)。
我需要这个功能的原因是,我们公司向我们的一个客户提供了一个AAR(由本地Android项目使用),我们希望保持单一的源基础,而不是两个。
先感谢您!
目前,我们正在开发一个.NET Standard类库,将被不同的Xamarin.*平台使用。
我想知道是否有一种方法可以在本地Android项目中使用共享代码(可能会产生AAR/JAR文件)。
我需要这个功能的原因是,我们公司向我们的一个客户提供了一个AAR(由本地Android项目使用),我们希望保持单一的源基础,而不是两个。
先感谢您!
名称已更改为 ".NET Embedding",当前版本为 v0.4。
你可以使用 Mono 的 Embeddinator-4000
它支持各种语言的消费者,因此它将 .NET 代码呈现为目标语言中的惯用代码。 这是目前支持的语言列表:
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 处理)在不同的语言 / 运行时中运行。