Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.


xamarin-android-tools is a repo to easily share code between the xamarin-android repo and the Xamarin.Android commercial tooling, such as IDE extensions, without requiring that the IDE extensions submodule the entire xamarin-android repo, which is gigantic.

Build Status

Platform Status
macOS macOS Build Status
Windows Windows Build Status

Build Requirements

xamarin-android-tools requires Mono 4.8 or later and nuget.

Build Configuration

The default make all target accepts the following optional make(1) variables:

  • $(CONFIGURATION): The configuration to build. Possible values include Debug and Release. The default value is Debug.
  • $(V): Controls build verbosity. When set to a non-zero value, The build is built with /v:diag logging.


To build xamarin-android-tools:

msbuild /restore Xamarin.Android.Tools.sln

Alternatively, first prepare the project:

make prepare

This will perform nuget restore and any other pre-build tasks that need to be performed.

Next, run make:



To run the unit tests:

dotnet test tests/Xamarin.Android.Tools.AndroidSdk-Tests/Xamarin.Android.Tools.AndroidSdk-Tests.csproj -l "console;verbosity=detailed"

Build Output Directory Structure

There are two configurations, Debug and Release, controlled by the $(Configuration) MSBuild property or the $(CONFIGURATION) make variable.

The bin\$(Configuration) directory, e.g. bin\Debug, contains redistributable artifacts. The bin\Test$(Configuration) directory, e.g. bin\TestDebug, contains unit tests and related files.

  • bin\$(Configuration): redistributable build artifacts.
  • bin\Test$(Configuration): Unit tests and related files.


Package versioning follows Semantic Versioning 2.0.0. The major version in the nuget.version file should be updated when a breaking change is introduced. The minor version should be updated when new functionality is added. The patch version will be automatically determined by the number of commits since the last version change.

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.


Xamarin.Android.Tools.AndroidSdk nupkg files are produced for every build which occurrs on Azure Devops. To download one of these packages, navigate to the build you are interested in and click on the Artifacts button.

Alternatively, "unofficial" releases are currently hosted on the Xamarin.Android feed. Add the feed to your project's NuGet.config to reference these packages:

    <add key="Xamarin.Android" value="" />

An Azure Pipelines Release can be manually triggered to push a new version to this feed.

Mailing Lists

To discuss this project, and participate in the design, we use the mailing list.

Coding Guidelines

We use Mono's Coding Guidelines.

Reporting Bugs

We use GitHub to track issues.


No description, website, or topics provided.



Security policy





No releases published


No packages published