Notice (2018-05-24): bugzilla.xamarin.com is now in
Please join us on
Visual Studio Developer Community and in the
Mono organizations on
GitHub to continue tracking issues. Bugzilla will remain
available for reference in read-only mode. We will continue to work
on open Bugzilla bugs, copy them to the new locations
as needed for follow-up, and add the new items under Related
Our sincere thanks to everyone who has contributed on this bug
tracker over the years. Thanks also for your understanding as we
make these adjustments and improvements for the future.
Please create a new report on
Developer Community or GitHub with
your current version information, steps to reproduce, and relevant error
messages or log files if you are hitting an issue that looks similar to
this resolved bug and you do not yet see a matching new report.
Support a MonoDroid MonoDevelop plugin on linux.
I believe I ran across a blog entry/comment by Miguel stating that part of the issue was linux platforms not having a late enough mono runtime installed or supported.. Can't dig it up again though.
We face a QA problem here.
The problem with supporting Linux is that we would need to create a self-contained Mono packaging for all of the bits we ship since most Linux distributions are slightly off when it comes to Mono.
It also means that if we advertise "Linux" we would need to QA a dozen different combination due to different Linux distributions and different editions of each distribution.
Perhaps we would support just a single distribution and a single version, which is closer to what we have to do on Windows/Mac today.
Is a community effort acceptable?
I use Ubuntu's LTS releases with all my customers and always have to build a sane Mono myself - e.g. the packages Canonical ships with ARMEL tend to simply not work. Even badgerports is still on 2.6 with no ARM support at all.
So if there was an exact list of dependencies with versions, e.g. Mono 2.10.1 (installed to /opt/mono-2.10), Monodevelop 2.4.3 (installed to /where/ever), ... I would be willing to create such packages for always the LTS version of Ubuntu. I have had the best experiences with parallel mono installations.
This might be a base, on which a MonoDroid version for Ubuntu could build on. I'm sure, there will be others in the SUSE, Fedora, etc. Communities to do the same for these distros.
While it is not for me to say, a first model could be licensing for Windows (supported) and Linux (unsupported) on the same machine, dual-booting.
Just want to voice support for Eugen's comments. For linux why not introduce a new licensing level below Professional which offers minimal support? Just let the various distro communities deal with it. I'd rather pay a couple hundred bucks for a minimally supported linux version than have to switch to mac or windows for android development.
Or perhaps you could support Ubuntu LTS or similar at the Professional license / support level.
a community setup version would be nice.
give me "libMonoPosixHelper.so" and "mandroid" compiled for linux x86 and x64
and I'll use the contents of the mac package for creating a linux setup
sure, it will not work without installing the prerequisites like mono 2.10 and monodevelop, but who wants to make the effort will be able to work with linux.
Ralph, you can try to use maloader (https://github.com/shinh/maloader) to run mandroid in Linux.
I would like to express my need and support for this issue of having Mono For Android on Linux. I was looking for a paid solution for cross platform application development and I was quite happy to find Xamarin ... until the moment I couldn't find Linux version. I initially found Miguel's blog post promising us the Linux support. I would very much consider buying your product even with basic support. I do not mind "getting my hands dirty" by getting the right versions of Mono and Mono Develop, and besides, I use openSUSE so this should closest to your own Linux setups I believe. (you being from Novell before) Is it a matter of number of potential customers to justify the Linux version? Please keep in mind that there may be people who did not go as far as to reply to this issue and simply skipped to other solutions.
Guys, Linux support is important to me for a bunch of reasons...
Kind of disappointed to see it missing. Happy to pay, that's not the issue.
Please allow us to work under Linux.
@Ralph have you made any progress? (happy to help).
For the record, I would like to voice my opinion that I would like to see mono for android on linux also reflecting that money is not the issue. So there is my vote.
I too would like to put my support in for this. Running VirtualBox with Windows 7 just to build and test the android applications I write is not a very good long term solution.
Please let us know if there is a timeline for this. I am willing to volunteer time to help make this a possibility for Ubuntu.
Jason, have you had any luck with getting the adb to function over USB, (see https://www.virtualbox.org/ticket/6620)? Otherwise this would be a good work around solution for the good people at Xamarin to look into fixing in the mean while so there is at least some fully functional workflow for their product while not having to run windows on hardware.
Actually Brian I've been using adb over TCP as per http://stackoverflow.com/questions/1754162/remote-debugging-with-android-emulator . Then when it's time to deploy I boot into windows 7 and do the deployment from the dual boot.
I would just be nice if I didn't have to start up the virtual machine to build my android project and have the whole chain on Ubuntu. I do appreciate the suggestion though, and I may give it a try and see if it is any faster, if it works.
Or maybe... there could be some acceptance by Xamarin that they are “standing on the shoulders of giants” and perhaps they really should provide at least basic Linux tools on an ethical basis?
What about all the non Novell/Xamarin devs who have contributed to MonoDevelop? What about the Linux kernel? We know you need to make a commercial venture from touch and droid... but snubbing the platform used by those that helped you get ahead? (and most on this thread have already said they are willing to pay for the tools).
Jason, I have but one computer so that solution will not work for me as I am hoping to debug directly on my phone. Personally I love VirtualBox but this bug is starting to get under my skin a bit. I know that you can run vmware and it can communicate no problem over USB, but am trying to avoid using another closed source solution. My work does allow the presence of wifi so I have no ability to connect via network so that is out as well. Ho hum.... makes me kinda regret choosing monodroid.
Brian and Andrew,
I agree wholeheartedly that it's a shame Xamarin is not selling a Linux port, and it's horrible that we have to use virtual machines to build. I tried the USB route, but it didn't work for me. I'll try to spend some more time later and see if I can figure out why. Maybe I just didn't set something right.
As I said before I'd being willing to pay to get monodroid on Ubuntu or, if they desire, I can offer up some of my time to help make it possible.
It has been over a year since Icaza has commented on this enhancement though, so I would find it interesting if he would drop by again and tell us if they are planning to support Linux at some point. Otherwise they should close this ticket so we know not to get our hopes up.
mono monodevelop can run in ubuntu.
but mono android can't run in ubuntu?
if mono android can run in ubuntu, I will buy a license, or I will continue use eclipse and java.
because our computer all run ubuntu.
I'd like to wonder why Xamarin went this route.
Considering that MonoDevelop, the Android IDE, and Mono all exist in Linux, it strikes me as odd that Mono for Android is not supported in Linux.
I saw an ad for Mono for Android yesterday, and was excited when I realized I could develop for all systems (Windows, Mac, Linux, Android, and iOS) simultaneously without a large amount of effort. That was until I realized that they don't support Linux.
You could at least respond and give us a reason why you don't support Linux, Xamarin. I haven't seen anything.
So, I think the upshot is this: to actually build cross platform mobile apps with Xamarin's mono touch and droid means that you will need a Mac to build the Mac bits (a VM will work but is not allowed under Apple's licence agreement even if you paid for the OS).
In that case, If you really are building cross platform apps then you _need_ a Mac and by extension the argument in this bug is then potentially moot.
On the other hand, if you are a Linux user and only want to build Android apps then it should be clear by now that you should forget about Mono Droid and use Google's Java and Eclipse, which runs just fine on Linux.
If you are a Linux user that wants to build mono touch apps with the thought that you will one day buy a Mac and port your app to iOS, realise that Xamarin is ignoring you... (I guess because you represent a small market share). So, give in and buy a Mac or switch and use Eclipse and Java instead (I think Xamarin's actions are here ethically unsound... but hey they world isn't fair).
Migel himself has given up on Linux: http://tirania.org/blog/archive/2012/Aug-29.html Therefore, is it time to give up on Xamarin providing Linux support?
To extend all this a step further...
“Many people who were talking about Free Software are the people talking about the open web now,” de Icaza says. From: http://www.wired.com/wiredenterprise/2012/08/osx-killed-linux/
The world changes quickly and if you are on Linux then you are already well placed to work with emergent technologies... It's time to move on... Long live the web! :)
We need monoAndroid can work in mac and linux.
We have two team.
We wish use mono to develop IosApp on mac and use mono to develop android on linux.
Why monoandroid not support linux. Linux will dead?
I second that. Mono runs on Linux so there's no reason monoTouch and monoDroid can't run on Linux. I already bought a license for both monoDroid and monoTouch a year ago without knowing that you don't support Linux. I had to install windows on a VM just to use monoDroid which is ridiculous. I'm not renewing my license until there is support for Linux
> there's no reason monoTouch
MonoTouch needs to link against object files that are provided by the Apple SDK (e.g. libc.dylib). There is EVERY reason that MonoTouch cannot work on Linux, unless you happen to know an easily (legally!) shippable set of library files to use for linking.
> and monoDroid
See Comment #1. See also the fact that the Android SDK is required to operate, and the Android SDK will NOT run on every flavor of Linux imaginable. (For example, 1-2 years ago I upgraded my Android SDK and it no longer worked on my then not-too-ancient Suse install -- it was only 1-2 releases "old", iirc.)
Then see Comment #1 again.
if gcc and llvm can be hacked to compile iOS binaries, there's no technical reason monoTouch can't either. are you saying its illegal to copy iOS libraries into a linux file system? thats ridiculous... that cant be legal.
Just support the major linux distributions... there are only two: ubuntu and redhat. Android SDK work on both (I've tested)
Shipping cross-distro is not easy but one does not have to target all the distros. Just see Valve and their Steam release for Linux, they target solely Ubuntu and yet I managed to run their .deb file on openSUSE without a sweat. The point being ... community can handle some rough edges. If consumer centered company ships on Linux then a developer centered company not doing so is kind of ridiculous. Especially one which bases on a project which was made originally for Linux.
But ultimately the whole argument assumes that appealing to a large group of hackers for whom Linux is the platform of choice, is a good idea ... maybe you think otherwise. That's your prerogative.
According to the wikimedia stats ubuntu has 50 times more market share then the next largest desktop linux distro. (that's not 50% more its 50 times more) This is bigger then the difference between windows and mac.
There should be no question about what distro to support, it's ubuntu period.
Ubuntu is also a major OS when it comes to (non c#) android development. It's officially supported and everything works there. Xamarin for android being on ubuntu just makes sense. The same as Xamarin for IOS being on Mac.
Since Micro Bauer has already (December 2013) prepared packaging of Mono 3.0 for Debian Sid, it is likely be included in Ubuntu 13.10, so I no longer see any problems with "outdated" Mono.
s/December 2013/November 2012/
I want Linux support too.
But I also agree with de Icaza about the QA problem.
The real root solution for current situation of Linux is to *remove* non-core FOSS, for example, Mono from the repositories. Temporally catching up the version is worthless.
Mono is not being removed from anything.
Yes mono is not in the ubuntu default install, but it's in the repositories. FYI java isn't either but the Android SDK has first class support on ubuntu.
Nothing foss is being removed from the repositories, where is this information coming from?
There is no QA problem as stated above, you develop for ubuntu, it has over 95% percent of the desktop market share, (server share is irrelevant, you don't develop on servers)
Can't they make a completely unsupported version for who has up to date mono runtimes on linux?
Can't Linux distributions offer a sane way of software deployment? Can't those clueless "packagers" give up their worthless work?
Oh come on, that is just a poor excuse. More complex software has been made to work cross-platform on Linux. How does Windows handle package management? Oh, let me guess - it doesn't. You can ship static libraries and whole dependency tree on Linux as well, you do not need to rely on package managers.
> More complex software has been made to work cross-platform on Linux.
True. Except that they are mostly proprietary and thus prevented clueless "packagers" from worthless packaging.
Google supports the android SDK on ubuntu, therefore it is definitely possible and feasible for Xamarin to do the same.
All the other dibble is simply an excuse, if Xamarin wanted to support linux they could do so. It seems they simply don't want to.
People are intelligent enough to switch to git/tarballs instead of the packaged versions. As for this case had the mandroid binary not used CoreFoundation but instead used standard libraries like libc etc. it would have been easier to port over.
> As for this case had the mandroid binary not used CoreFoundation but
> instead used standard libraries like libc etc.
Where'd you even get this idea from? If that were the case, it wouldn't run on Windows either...
On Mac it does need CoreFoundation..I have checked.
For who mentioned maloader, that will not work.
Voicing support for Android dev on Linux.
I'm very interested in Linux support too. I know that Xamarin now provide Mono repositories for major Linux distros at http://www.mono-project.com/download/#download-lin - great thanks for this! But does it updated the view of the team on the Xamarin support on Linux?
I'm very interested in Linux support as well. I work for an open-source project on scientific computing (virtualphotonics.org), and it would be fantastic to have Xamarin.Forms across all three platforms. Perhaps the good news this week is a boon for such developments??
I think it's just an excuse. You could support only one "Linux", as it was made by Oracle for Oracle Database.
You can now build this with the open source version.
We are going to track the IDE support as a feature not a bug, elsewhere.
> You can now build this with the open source version.
We love you all!
Is there any URL with updated info about how to build for Android?
@Ismael: Please try the macOS build instructions on Linux:
Two internal developers are able to build it, but we don't yet have a Jenkins+Linux bot, so I don't know how reliable it is.
> You can now build this with the open source version.
That is awesome! Thanks, Miguel!
> We are going to track the IDE support as a feature not a bug, elsewhere.
Any link to that. Would like to just keep an eye on that. :)