Mono 2.5 for Android Released

On and off over the last few weeks, I’ve been working on getting the Mono 2.6 branch, and its super awesome soft debugger, working on Android. I’ve also spent some time documenting and cleaning up the currently horrendous build process involved (I was really the only one that knew how to do it). Anyways, the Android Market now has the current 2.6 branch of Mono available for download (2.6 is not complete yet, hence the reason I am referring to it at 2.5). This release supports Cupcake, Donut, and Eclair!

The project is hosted on Github in the androidmono repository.

For those interested in building/hacking this themselves, here are the instructions:

  

12 comments:

Anonymous said...

Please start an own pages for you Mono@Android Project (forum, bugtracker...) or try to get an subarea at mono.
I think, your project should be pushed! I like .NET and Android and like it very much, having .NET @ Android!

Lance said...

Great Work.

I asked Miguel some time ago if this was going to happen.

Now we just need to get you some help to push this forward.

j said...

This is great! Thanks Koushik! Does this mean that the interop layer is done?

Running Mono on Android is like a dream come true.

Koush said...

Yes, the interop layer is done. You can invoke Java from C# and C# from Java. The current source code actually demonstrates a Java invoking a C# call which invokes Java... a full round trip.

http://github.com/koush/androidmono/blob/master/MonoActivity/src/com/koushikdutta/mono/MonoActivity.java

I need to write a a tool that generates C# wrappers for Java classes... that's part of te MonoDevelop addin I am developing.

j said...

Thanks Koush. The tool to generate wrappers was going to be my next question.

Harri J. Talvitie said...

Off-topic, but the post has a incorrect date stamp: 12.01.2009. That's January 12th, 2009 with no ambiguity whatsoever.

Rohit said...

.Net on Android, and Java <-> C# interop -- great job!

Thanks for giving developers more options.

Anonymous said...

WAW !
This is GREAT news !

I agree with first post: we'll now need a place to communicate with you and give feedback when we'll start using it !

Jarrett said...

This is awesome. I installed on my phone but the Test and Invoke doesn't seem to do anything.

Pål said...

Great work. Just installed your 2.6 release from Market on a HTC Hero. I was in the middle of installing Ubuntu, Eclipse and all that to start Android development. But coming from Windows and C# I'd really prefer to continue on .NET instead of having to learn Java.

Btw. on my Hero the test.exe applications outputs some strange characters along with Hello World and there's a ConfigurationErrorsException on the web request. Seems it's unable to open some config file.

knocte said...

Paul, Koush: I've installed also the Mono app from the Android Market, but how can I try to run the HelloWorld app?

Do I need the adb shell for this? If yes, then does that mean that I need to root/jailbreak the phone? :(

Thanks in advance.

knocte said...

Ok, it seems I was able to run the test (mono test.exe) on the phone without rooting it, finally! But now I'm getting an assert:

apps/androidmono/jni//mono/eglib/src//gstr.c:150: assertion 'first != NULL' failedapps/androidmono/jni//mono/eglib/src//gfile-posix.c:56: assertion 'filename != NULL' failed

It happens after the "Hello World!" is printed and some HTML webpage is retrieved. Any idea? Is this normal? Where can I find the code of "test.exe"? I don't find any "test.cs" in your android mono repo.

The version of mono that gets printed is:

Mono JIT compiler version 2.6 (/branches/mono-2-6/mono r147276)

I would like to help moving this forward, and contribute to this effort if necessary. How can I debug this? Do I need to root my phone to debug this?

How can I contact you? Email? Discussion forum? Newsgroup? IRC? IM chat?

Thanks.