Develop Android app using C#

C#AndroidMono

C# Problem Overview


Is it possible to write an android app using C#? Is there an API or something? Is it free for personal and commercial development?

What do I need to install to have android project template in my Visual Studio?

C# Solutions


Solution 1 - C#

Having used Mono, I would NOT recommend it. The Mono runtime is bundled with your app, so your apk ends up being bloated at more than 6MB. A better programming solution for C# would be dot42. Both Mono and dot42 are licensed products.

Personally, I would recommend using Java with the IntelliJ IDEA dev environment. I say this for 3 reasons:

  1. There is so much Java code out there for Android already; do yourself a favour and don't re-invent the wheel.
  2. IDEA is similar enough to Visual Studio as to be a cinch to learn; it is made by JetBrains and the intelli-sense is better than VS.
  3. IDEA is free.

I have been a C# programmer for 12 years and started developing for Android with C# but ended up jumping ship and going the Java route. The languages are so similar you really won't notice much of a learning curve.

P.S. If you want to use LINQ, serialization and other handy features that are native to C# then you just need to look for the equivalent java library.

Solution 2 - C#

You could use Mono for Android:

http://xamarin.com/monoforandroid

An alternative is dot42:

http://www.dot42.com/

dot42 provides a free community licence as well as a professional licence for $399.

Solution 3 - C#

Here is a new one (Note: in Tech Preview stage): http://www.dot42.com

It is basically a Visual Studio add-in that lets you compile your C# code directly to DEX code. This means there is no run-time requirement such as Mono.

Disclosure: I work for this company


UPDATE: all sources are now on https://github.com/dot42

Solution 4 - C#

Mono Touch is the answer.

http://xamarin.com/monotouch

Solution 5 - C#

I have used the Unity 3D game engine for developing games for the PC and mobile phone. We use C# in this development.

Solution 6 - C#

You should try something running Mono (its compatible with .NET).

For game development, I recommend unity: http://unity3d.com/

for general aplications: http://xamarin.com/monoforandroid

Solution 7 - C#

There are indeed C# compilers for Android available. Even though I prefer developing Android Apps in Java, I can recommend MonoForAndroid. You find more information on http://xamarin.com/monoforandroid

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionCoolArchTekView Question on Stackoverflow
Solution 1 - C#darksider474View Answer on Stackoverflow
Solution 2 - C#DarrenView Answer on Stackoverflow
Solution 3 - C#FrankView Answer on Stackoverflow
Solution 4 - C#Seva AlekseyevView Answer on Stackoverflow
Solution 5 - C#SonuView Answer on Stackoverflow
Solution 6 - C#roimView Answer on Stackoverflow
Solution 7 - C#libjupView Answer on Stackoverflow