Xamarin.Android 8.0

Last Update: 10/31/2017

System RequirementsWhat's NewKnown IssuesBlogsOpen Source

Installing

Feedback

Your feedback is important to us. If there are any problems with this release, check the Xamarin.Android Forums and Xamarin Bugzilla Tracker for existing issues. If you do not find any matching issue, please feel free to start a new discussion and report an issue.

Release History

You can learn more about how we ship our releases in the Visual Studio 2017 Release Rhythm document.

October 31st, 2017 - Xamarin.Android 8.0.2.1

This version is included in the Visual Studio 2017 version 15.4.2 release.

Issues Fixed

  • 59822: Building an Android solution in Release mode that references a net standard project with a Microsoft.Identity reference results in a linker error.
  • 60069: Build.getSerial is not bound in Android API 26, causes conflict with Build.Serial, which is now deprecated
  • 60080: After upgrading to latest Xamarin- Visual Studio stuck/hangs at initialization of xamarin.andorid project while loading projects

October 9th, 2017 - Xamarin.Android 8.0.0.33

This version is included in the Visual Studio 2017 version 15.4 release.

Issues Fixed

  • 30147: Path is too long
  • 30909: AssetManager.AssetInputStream is missing in Mono.Android.dll
  • 36485: Uninformative ""aapt.exe" exited with code 1." and "The file "obj\Debug\android\bin\packaged_resources" does not exist" errors if drawable resource filename contains invalid character
  • 51507: Give a proper warning when JDK 1.8 is required but not installed
  • 55473: Incorrect generated enum for OnServiceAdded in BluetoothGattServerCallback
  • 55477: Stream Closed Exception thrown in AndroidClientHandler during redirected HTTP POST call.
  • 55561: "Processing" messages spam Android build output
  • 56311: Intellisense breaks on ":" in axml files
  • 56436: BINDINGSGENERATOR: warning BG8C00: For type Java.Util.IList, base interface Java.Util.ICollection does not exist.
  • 56655: Debugging on a new device doesn't deploy
  • 56740: Nexus 6p Android O Preview: Couldn't connect to logcat, GetProcessId returned: 0
  • 56867: [VS 2017 XA Self Hosted VSIX] Xamarin.Android version is not displayed in "help > About Microsoft Visual studio"
  • 57279: Sample for Microsoft Intune is failing - System.NullReferenceException at IntuneMAMSampleAndroid.EntryActivity.OnCreate
  • 57281: XAML IntelliSense only works when iOS target is set, not Android
  • 57645: "The "LinkAssemblies" task failed unexpectedly" due to a NullReferenceException in Mono.Linker's ProcessLibrary() method when project references certain assemblies, for example "Mono.Data.Sqlite.Portable" NuGet package
  • 58029: With NDK r12b+ AOT is successfull but JIT still happens and app as slow as w/o AOT
  • 58169: _UpdateAndroidResgen constantly being called
  • 58178: macOS installer on High Sierra will fail if javac is not available
  • 58303: Java.Util.HashMap is mapped to Android.Runtime.JavaDictionary in binding generator
  • 58405: Bundle getIntegerArrayList & getStringArrayList throw InvalidCastException if Bundle.get is called first
  • 58448: IDE0006 warning on File -> New CrossPlatform App
  • 58646: _CleanGeneratedDebuggingFiles target removes ALL .pdbs
  • 58711: Linker fails randomly when processing a specific set dependencies
  • 58829: Application Output Window being flooded with "[Mono] worker parking, [Mono] worker unparking" messages when debugging agasint Android Emulator.
  • 59036: Multidex.keep file missing newlines
  • 59532: [API 26] Android.App.Assist.AssistStructure AutofillType/InputType Mapped Backwards
  • 59655: Android.Views.ViewStructure.SetAutofillType should accept enum type 'AutoFillType' over int

Breaking Changes

  • 51293: ScanResult.txPowerLevel should return int

Integrated Mono Features/Fixes

Xamarin.Android uses Mono 5.2 commit 143421cb.

  • 57744: ReflectionTypeLoadException.LoaderExceptions has null exceptions / [reflection] Convert correct MonoError to an exn in Assembly.GetTypes ()

What's New in this Release

Android Oreo Support

Xamarin.Android 8.0 brings binding support for Android Oreo. See our documentation for more information on Android Oreo:

https://developer.xamarin.com/guides/android/platform_features/introduction-to-oreo/

.NET Standard 2.0 Support

Xamarin.Android 8.0 is the first version to support .NET Standard 2.0.

https://docs.microsoft.com/dotnet/standard/net-standard

Shorter Internal Path Names (Experimental)

Many generated path names in a Xamarin.Android project can be quite long, which on Windows may result in a PathPathTooLongException:

C:\Some\Directory\Solution\Project\obj\Debug\__library_projects__\Xamarin.Forms.Platform.Android\library_project_imports\assets

Xamarin.Android 8.0 introduces a new $(UseShortFileNames) MSBuild property. When True (the default is False), shorter path names will be used, which will hopefully reduce the likelihood of a PathPathTooLongException:

C:\Some\Directory\Solution\Project\obj\Debug\lp\1\jl\assets

Known Issues

Stable Binding for Android API-26

A stable binding for Android API-26 is distributed in this release and is considered final. Future changes to this binding will be considered a breaking change.

API Changes

OSS Core

Xamarin.Android 8.0 is based on the open-source Xamarin.Android repositories:

Xamarin Workbook

If it's not already installed, install the Xamarin Workbooks app first. The workbook file should download automatically, but if it doesn't, just click to start the workbook download manually.