Mono For Android 4.0.1

Installation

Visual Studio Users: If you're running Mono for Android 1.9.1 or later, you should be prompted to update. Otherwise, download monoandroid-4.0.1.msi and install.

MonoDevelop Users: You should be prompted to upgrade next time you open MonoDevelop, or you can use Help > Check for Updates. IDE support requires MonoDevelop 2.8.4.1.

Major Highlights

GC Stability Improvements: We've fixed an assert within the GC and improved stability when invoking GC.Collect().

Changes since 4.0.0

UsesLibraryAttribute and UsesPermissionAttribute constructor parameters: In 4.0.0, UsesLibraryAttributeand UsesPermissionAttribute required that you use the Name property. Now you may use the constructor:

[assembly: UsesLibrary (Android.Manifest.Permission.Internet)]

Library project defines: Library projects now get the same set of __ANDROID__ defines as Application projects.

Breaking Changes

  • Additional int to enumeration parameter and return type conversions.

API Changes

Bug Fixes

  • 2091: Assertion at ../../../../mono/metadata/sgen-bridge.c:426, condition `!entry->is_bridge' not met
  • 2137: Provide ANDROID defines for class libraries
  • 2206: DataContractJsonSerializer does not work
  • 2326: Calling GC.Collect() repeatedly hangs app
  • 2349: Assertion at ../../../../mono/metadata/sgen-bridge.c:426, condition `!entry->is_bridge' not met
  • 2367: Invalid Java generated for constructors that call base with different parameters
  • Fixed java.lang.NoClassDefFoundError when creating arrays of various types.
  • The <AndroidResgenFile/> element no longer requires a directory to be specified.
  • Several Android Callable Wrapper constructor generation fixes.

Warnings

Warning: Samsung shipped a broken kernel with Android 2.1, which is not able to support JIT compilation. If you possess a Galaxy-class device with Android 2.1, you will get unexpected results, this is caused by a kernel bug that breaks cache coherency, rendering any engine doing JIT compilation useless. Check with your manufacturer/carrier for an Android 2.2 update.

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.