Compiling Mono under the Android Build Evironment

I mentioned previously that I got Mono compiling under the Android build environment. I have also submitted all the changes I made to Mono back to their team. In addition, all external changes are hosted on Google code. The external changes were filling holes in Bionic, setting up a config.h that works on Android, and converting the Makefile to an Android.mk. Click here to go to the AndroidMono repository.

The build instructions are straightforward, and assumes you have a Release 1.0 repository (not Master or Cupcake) already set up:

  • In a shell, go to your mydroid/external directory and type:
  • Apply the androidmono.patch file to the mono directory make the necessary changes to the mono project. (This won't be necessary once they accept my patch)
  • Run make in your mydroid directory.

Now you should have a mono and libmono.so! The build process does not create the managed assemblies. That needs to still be done the old fashioned configure/make way. The resultant mono binary will look for the managed assembles in /data/data/com.koushikdutta.mono/assets/lib/mono/2.0/(mscorlib.dll).

8 comments:

Arnaud said...

Hi,

It's a real great job. Question: do you think to port Mono for CupCake? When should it be available?
Rgds
NB: please check your email too :)

Tony said...

Howdy,
Besides the question regarding cupcake (I seem to pick up conflicting statements in your blogposts about your success in running on Cupcake. Also, the Mono runtime from Google Market installed fine on my G1 Cupcake).

My own question though is whether you're truly supporting all Mono classes, comparing to what Microsoft does, the CE and Mobile runtimes are subsets of the full .NET classes.

Anonymous said...

The website doesn't work anymore:

Forbidden. Your client does not have permission to get URL /p/androidmono/ from this server.

buho said...

same here
The website doesn't work anymore:

Forbidden. Your client does not have permission to get URL /p/androidmono/ from this server.

Flow84 said...

have you discontinued this project?

Koush said...

The updated url for the project is here:

http://github.com/koush/androidmono

I'll be resuming the project once Mono 2.6 is tagged.

Flow84 said...

Cool. I will definably be waiting :) What are you waiting for?

Thracx said...

Great work!

How well does Mono on Android work? Are there any major issues with developing C# apps targeting Android that I should know about?