android-tools is a repo to easily share code between the xamarin-android repo and the .NET for Android commercial tooling, such as IDE extensions, without requiring that the IDE extensions submodule the entire android repo, which is gigantic.
-android-tools requires .NET 6 or later.
The default make all
target accepts the following optional
make(1) variables:
$(CONFIGURATION)
: The configuration to build. Possible values includeDebug
andRelease
. The default value isDebug
.$(V)
: Controls build verbosity. When set to a non-zero value, The build is built with/v:diag
logging.
To build android-tools:
dotnet build Xamarin.Android.Tools.sln
Alternatively run make
:
make
To run the unit tests:
dotnet test tests/Xamarin.Android.Tools.AndroidSdk-Tests/Xamarin.Android.Tools.AndroidSdk-Tests.csproj -l "console;verbosity=detailed"
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.
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:
<configuration>
<packageSources>
<add key="Xamarin.Android" value="https://pkgs.dev.azure.com/xamarin/public/_packaging/Xamarin.Android/nuget/v3/index.json" />
</packageSources>
</configuration>
To discuss this project, and participate in the design, we use the android-devel@lists.xamarin.com mailing list.
We use Mono's Coding Guidelines.
We use GitHub to track issues.