Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?

Android Ported To C# 351

New submitter Eirenarch writes "Xamarin has just announced that they got the Java part of Android ported to C# via machine translation. The resulting OS, called XobotOS, is available on Github. They claim some serious performance gains over Dalvik. For them, this is an experiment that they are not planning to focus on, but they will be using some of the technologies in Mono for Android."
This discussion has been archived. No new comments can be posted.

Android Ported To C#

Comments Filter:
  • by raydobbs ( 99133 ) on Tuesday May 01, 2012 @06:21PM (#39862423) Homepage Journal

    ....this still won't save you from the Oracle software apocalypse [slashdot.org].

  • I'd like to try them sometime.

    • by nurb432 ( 527695 ) on Tuesday May 01, 2012 @06:31PM (#39862495) Homepage Journal

      Android was ported to x86 a few versions ago.

    • Re: (Score:2, Informative)

      by Anonymous Coward

      Yes, you can:

      Heck, even Eclipse has an emulator that could do the trick for you.

    • by zill ( 1690130 ) on Tuesday May 01, 2012 @06:35PM (#39862537)
      Yes, you can. There are two ways to go about it:

      Download the Android SDK [android.com] which contains an Android emulator.

      If you have any virtualization software installed, grab an Android x86 ISO image [android-x86.org] and run it in a VM.

      The second method gets you higher performance (virtualization vs binary translation), but has major compatibility issues. Any app that contains ARM native code won't work in Android x86 unfortunately.
      • Re: (Score:2, Interesting)

        by Anonymous Coward

        At the moment, yes. That might change, though.

        There's now at least one phone available (in India, anyway) which runs an x86 (Intel Medfield) version of Android:


        It can run most apps that contain ARM native code, by using a JIT. I don't know if the source code for that is available anywhere, but it'd be useful for running Android on x86. It's also not that hard to port an Android on ARM app over

  • Well, relatively easy, since at a bytecode level Java is a subset of CLR.

    Now just try going from C# to Java.

  • This may not matter. If the litigious bastards at Oracle have their way, future Android builds will migrate to "all native code" just like on the iPhone and other non-vm based devices. They'll just sadly set aside Dalvik and declare ARM to be the official ISA of Android phones, or do some crazy thing where applications are compiled (perhaps in the cloud?) before installation to a device. I don't see C#/CLR/Mono becoming part of the Android stack, not now, not ever. Google wouldn't abandon one third-part
    • If they did that, then Google should pick a very nice language and build a compiler for their platform.

    • by Eskarel ( 565631 )

      And in this market, you really think Google could actually afford to do that? To have the next android update remove Davlik and break every non native app? To fragment their app market into "old devices" and "new devices"? Not to mention reducing their developer pool to people who can actually write native Linux binaries.

      If it was as easy as "sadly setting aside" they'd have done it by now and saved themselves the cost of a lawsuit.

  • by diegocg ( 1680514 ) on Tuesday May 01, 2012 @06:55PM (#39862701)

    It seems like they are "translating" the Java code to C#, then compiling it with Mono. I had expected support for running Android bytecode, or something like that...

  • The chart from TFA:

    http://tirania.org/s/71de890b.png [tirania.org]

    Whoa. Those benchmarks show Java/JVM about 7 times slower than C#/DLR. (I thought "DLR" in TFA was a typo, but it's correct. DLR stands for Dynamic Language Runtime [wikipedia.org].)

    I'm not entirely surprised. I remember reading the history of IronPython [voidspace.org.uk], where Jim Hugunin (the original author of Jython, which is Python running on the JVM) did some experiments with the CLR, intending to prove how sucky and lousy the CLR was; instead, he found that the CLR was faster t

UNIX is many things to many people, but it's never been everything to anybody.