2017-10-02 1 views
2

Derzeit entwickeln wir eine .NET Standard-Klassenbibliothek, die von verschiedenen Xamarin. * - Plattformen verwendet wird..NET Klassenbibliothek in native aar/jar konvertieren

Ich frage mich, ob es eine Möglichkeit gibt, den freigegebenen Code in einem nativen Android-Projekt zu verwenden (vielleicht eine AAR/JAR-Datei erzeugen).

Der Grund, warum ich diese Funktionalität brauche, liegt darin, dass unser Unternehmen einem unserer Kunden ein AAR zur Verfügung stellt (das von einem nativen Android-Projekt verwendet wird), und wir möchten eine einzige Quellenbasis statt zwei haben.

Vielen Dank im Voraus!

Antwort

3

können Sie Mono Ilses Embeddinator-4000

Es verschiedene Sprechen Verbraucher unterstützt, so dass es Oberflächen .NET-Code als idiomatischen Code in der Zielsprache. Dies ist die Liste der unterstützten Sprachen derzeit:

  • Objective-C: Mapping .NET idiomatischen Objective-C APIs.
  • Java: Zuordnung von .NET zu idiomatischen Java-APIs.
  • C: Zuordnung von .NET zu einem objektorientierten wie C-APIs.

Embeddinator-4000 ist ein Tool, das Ihre vorhandenen .NET-Code (C#, F # und andere) verzehrt werden von anderen Programmiersprachen und in verschiedenen Umgebungen ermöglicht.

Java befindet sich derzeit in einem Vorschau-Status für Mac OS, Windows und Android.

Die Plattform wird ausgewählt, indem das Argument --platform = Befehlszeile an den Embeddinator übergeben wird. Zur Zeit werden macOS, Windows und Android unterstützt.

re: https://mono.github.io/Embeddinator-4000/

Als Teil der erfordert für Android finden Sie Xamarin.Android 7.4.99+ und Android Studio benötigen 3+ (Java 1.8), aber wenn Sie bauen Android Apps mit Xamarin und Java Sie würde diese schon haben.

Hinweis: Dieses Tool ist in Vorschau, so überprüfen Sie die offenen Probleme und neue wenn erforderlich.

re: https://github.com/mono/Embeddinator-4000/issues

Hinweis: Dies ist nicht trans-Compilierung, sondern in einem nativen Paket Monos Laufzeit Einbettung, die CIL-Code erlauben, AOT'd (dh iOS) oder nicht innerhalb einer anderen Sprache/Laufzeit laufen .

+0

Ehrfürchtig, ich werde es ausprobieren. Vielen Dank! –

Verwandte Themen