Xamarin.Android 11.0.99.9 Preview
Pre-releaseAugust 5, 2020 — Xamarin.Android 11.0.99.9 was published as part of Visual Studio 2019 version 16.8 Preview 1 and Visual Studio 2019 for Mac version 8.8 Preview 1.
Corresponding Visual Studio 2019 Preview release notes
What's new
- Soft deprecation of undocumented ProguardConfigFiles MSBuild property
- Issues fixed and other small changes
- Installing
- Thank you
- Open source
Soft deprecation of undocumented ProguardConfigFiles MSBuild property
Since back when ProGuard compatibility was originally added to Xamarin.Android, the feature has included an undocumented ProguardConfigFiles
MSBuild property that could be used as an alternative to the ProguardConfiguration Build Action.
Any project authors who are currently using the ProguardConfigFiles
MSBuild property are encouraged to update to the ProguardConfiguration Build Action instead.
For example, a .csproj file could contain a use of the ProguardConfiguration
MSBuild property similar to the following:
<PropertyGroup>
<ProguardConfigFiles>
proguard1.cfg;
proguard2.cfg;
</ProguardConfigFiles>
</PropertyGroup>
To update a .csproj that contains a use of ProguardConfiguration
like that, remove the ProguardConfiguration
element from the .csproj file and instead set the proguard1.cfg and proguard2.cfg to use the ProguardConfiguration Build Action. This adds the files as ProguardConfiguration
items in the .csproj file:
<ItemGroup>
<ProguardConfiguration Include="proguard1.cfg" />
<ProguardConfiguration Include="proguard2.cfg" />
</ItemGroup>
Issues fixed and other small changes
Application and library build and deployment
- GitHub 4818: Projects that had the undocumented
AndroidAotMode
MSBuild property set to the experimentalHybrid
value did not strip away the IL from the resulting managed assemblies as expected. - GitHub PR 4824: No longer create NOTICE files in app packages.
- GitHub PR 4829: No longer fast deploy Android resources for the
Assemblies:Dexes
fast deployment mode.
Application behavior on device and emulator
- GitHub 4098: Exceptions similar to java.lang.ClassCastException: mono.android.runtime.JavaObject cannot be cast to float[] prevented passing certain C# types to some Android APIs.
- GitHub 4632: UNHANDLED EXCEPTION was shown unexpectedly in the application output in certain cases for handled exceptions that had been propagated through both Java and managed code.
Bindings projects
- Java.Interop GitHub PR 672: Nested Java types with
protected
visibility withinsealed
types are now generated withprivate
visibility, avoiding C# warning CS0628.
Thank you
A big Thank You! to community members who contributed improvements in this
release:
- Mohamed Akram (@mohd-akram), GitHub PR 4747: Add support for building xamarin-android source checkouts on Fedora.
Installing
To get the new version in Visual Studio, update Visual Studio:
- Visual Studio 2019 version 16.8 Preview 1 — Visual Studio Installer
- Visual Studio 2019 for Mac 8.8 Preview 1 — Visual Studio for Mac Installer with the Preview updater channel
For other scenarios, the latest commercial .vsix and .pkg installer packages can be found in the project README.
Open source
Xamarin.Android 11.1 is based on the open-source Xamarin.Android repositories:
- The Mono runtime and class library artifacts for this version come from the android-release-Darwin-*.7z archive generated by the Mono open-source build: archive-mono/job/2020-02 build #88.
- 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 #android channel on the DotNetEvolution Discord server.