This is a step-by-step guide on how to install Xamarin.Android on your Linux system.
Install following packages with your package manager:
- mono
- dotnet SDK (Probably .NET Core 3.1)
- Java SDK
- Android Studio
- Download the current release of Xamarin.Android from the build server: https://dev.azure.com/xamarin/public/_build?definitionId=48&_a=summary
- Pick one where both stages were successfull and click on it.
- In the "Summary" box, check for "Related" and click on "n published" below it.
- Download the "installers-unsigned - Linux" (Using the 3 dots menu on the far right)
- Unzip the downloaded file.
- If possible install using your package manager.
6.1 Arch Linux users: You can install the .deb package using "debtap"
6.2 debtap -U < deb_file >
6.3 When asked to edit the .PGKINFO file, do so with your favourite editor and remove any invalid, or not needed dependency. (In my case I removed c, c0 and java8-sdk) - If no package manager is available (not recommended):
7.1 Unzip the .deb file and unzip the containing data file.
7.2 Copy all the files to their respective folder on your drive.
- Open Android Studio
- Click on "More actions" --> SDK Manager
- Under "SDK Platforms" install the desired API-levels.
- Under "SDK Tools" make sure that the following are installed:
4.1 Android SDK Build-Tools
4.2 NDK (Side by side)
4.3 Android SDK Command-line Tools
4.4 CMake
4.5 Android Emulator
4.6 Android SDK Platform-Tools
- In your Rider settings, search for "Android" and set the following fields (should be under "Build, Execution, Deployment" --> "Android"):
1.1 Android SDK Location (e.g. /home/user/Android/Sdk)
1.2 Android NDK Location (e.g. /home/user/Android/Sdk/ndk/< version >)
1.3 Java Development Kit Location (e.g. /usr/lib/jvm/java-11-adoptopenjdk) - Also check your mono and dotnet settings, search for "Mono" (should be under "Build, Execution, Deployment" --> "Toolset and Build".
fast deploymentis turned off or log containsfpctx->head.magic == FPSIMD_MAGIC' not met
1.1 Add or replace the following line in your Android.csproj file:
<AndroidSupportedAbis>x86;x86_64;armeabi-v7a;arm64-v8a</AndroidSupportedAbis>