Xamarin.Android 8.0 Release Notes
System Requirements | What's New | Known Issues | Blogs | Open Source
Installing
- Visual Studio 2017 – Visual Studio Installer
- Visual Studio 2017 for Mac – Stable updater channel
- Visual Studio 2015 Tools for Xamarin – Stable updater channel
Feedback welcome
Your feedback is important to us. If there are any problems with this release, check the Xamarin.Android Forums for existing issues. If you do not find any matching issue, please feel free to start a new discussion.
Release History
- October 31st, 2017 - Xamarin.Android 8.0.2.1
- October 9th, 2017 - Xamarin.Android 8.0.0.33
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 in Oreo Features
.NET Standard 2.0 Support
Xamarin.Android 8.0 is the first version to support .NET Standard 2.0.
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
- API Level 10: Mono.Android.dll
- API Level 15: Mono.Android.dll
- API Level 16: Mono.Android.dll
- API Level 17: Mono.Android.dll
- API Level 18: Mono.Android.dll
- API Level 19: Mono.Android.dll
- API Level 20: Mono.Android.dll
- API Level 21: Mono.Android.dll
- API Level 22: Mono.Android.dll
- API Level 23: Mono.Android.dll
- API Level 24: Mono.Android.dll
- API Level 25: Mono.Android.dll
- API Level 26: Mono.Android.dll
OSS Core
Xamarin.Android 8.0 is based on the open-source Xamarin.Android repositories:
- Core JNI interaction logic is in the Java.Interop repo
- Android bindings and MSBuild tooling are in the xamarin-android repo.
- Chat is in the
xamarin/xamarin-android
Gitter channel.