Mono For Android 1.9.0

 

This is a preview release for the 2.0 series. We are doing previews for 2.0 due to the large number of big changes in it. If you are feeling adventurous, try it out and file bugs if anything goes wrong. If you find something that impedes your work, you can uninstall this release and the shared runtime / platform packages on your Android device, and reinstall Mono for Android 1.2.



Installation

Visual Studio Users: Download monoandroid-1.9.0.msi and install.

MonoDevelop Users: To be prompted about beta updates, go to Help->Check for Updates and set the Update Level to Beta. You should be prompted with beta updates.



Major Highlights

Honeycomb Support: We are now providing a Mono.Android.dll for API level 12. This is a preview version, so please give us your feedback on them if it needs some tweaks.

We also ported Honeycomb Gallery sample.

Interface Constant Binding Improvements: The way that constants within Java interfaces is exposed has been overhauled.

Java 7 Support: We now correctly build, sign and deploy packages built with Java 7. Note that if you have both installed, we still will use Java 6 as it's more tested by the Android community.

Smaller Application Packages: mono.android.jar contains Android Callable Wrappers for many types internal to Mono.Android.dll, and is included in every Mono for Android application package. We have rearchitected how mono.android.jar is produced, greatly shrinking its size. The size reductions are also visible in Mono.Android.dll and application packages.

 

  1.2.0 Size 1.9.0 Size

Mono.Android.dll, API level 8:

(Pre-linking, this usually shrinks extensively)

8.9 MB 8.7 MB
mono.android.jar: 348 KB 86 KB
Application Template .apk: 185 KB 103 KB
Installed Size: 772 KB 304 KB

 

Better Incremental Builds: More of the build system is implemented as MSBuild tasks. This allows us to have better incremental builds, letting us skip pieces that don't need to be rebuilt.

  1.2.0 1.9.0
First Build: 8.66s 8.19s
Code Changes: 5.78s 1.71s
Code Changes Requiring New Java Stubs: 5.78s 2.50s
Resource Changes: 8.18s 6.10s

(Tests are run using the Debug profile of JetBoy.)

Changes Since Mono for Android 1.2.0

API Binding Improvements

  • Java add*Listener() methods are now bound to events.

Bug Fixes

  • 619: LinearLayout.SetGravity( int ) should be GravityFlags.
  • Correctly handle projects that do not contain Resources.
  • It should now be possible to target API level 10 (Android v2.3.3).

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.