Skip to content

xamarin/java.interop

Repository files navigation

Java.Interop

Java.Interop is a binding of the Java Native Interface for use from managed languages such as C#, and an associated set of code generators to allow Java code to invoke managed code.

This allows one to bridge code running on .NET's CLR and code running on a Java VM.

Note this does not mean that one can run Java code on .NET, or vice-versa.

Java.Interop currently does not ship independently. It is shipped as part of Microsoft's Xamarin.Android product, available via Visual Studio or .NET 6+. However, it is designed to be fully independent of Android and should be usable by other Java implementations. For other uses, please compile and distribute from source.

Some additional context for this project is documented in the Motivation and Architecture pages.

Building

  • The main branch is configured to build with .NET 7, available here.
  • The release/6.0.3xx branch is configured to build with .NET 6.

Java.Interop.sln must first run some "preparatory" tasks before it can be built:

dotnet build -t:Prepare

Once Java.Interop.sln has been prepared, it can be built in Visual Studio 2022 or with dotnet:

dotnet build

Additional build options are documented here.

Feedback and Contributing

This project welcomes issues and PRs.

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information, see the .NET Foundation Code of Conduct.

License

Copyright (c) .NET Foundation Contributors. All rights reserved. Licensed under the MIT License.

About

Java.Interop provides open-source bindings of Java's Java Native Interface (JNI) for use with .NET managed languages such as C#

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published