Which programming languages can be used to develop in Android?

JavaAndroidScalaProgramming LanguagesScripting

Java Problem Overview


> Possible Duplicate:
> Which programming languages can I use on Android Dalvik?

Mostly, Android applications are written in Java. But i heard that its also possible to use Scala or some other languages. And I also read that it's possible to include native C/C++ code.

Is there a refernce/list available that shows which languages can be used?

Java Solutions


Solution 1 - Java

Solution 2 - Java

Here's a list of languages that can be used to develop on android:

As for your second question: android is highly dependent on it's java architecture, I find it unlikely that there will be other primary development languages available any time soon. However, there's no particular reason why someone couldn't implement another language in Java (something like Jython) and use that. However, that surely won't be easier or as performant as just writing the code in Java.

Solution 3 - Java

Scala is supported. See example.

Support for other languages is problematic: >7) Something like the dx tool can be forced into the phone, so that Java code could in principle continue to generate bytecodes, yet have them be translated into a VM-runnable form. But, at present, Java code cannot be generated on the fly. This means Dalvik cannot run dynamic languages (JRuby, Jython, Groovy). Yet. (Perhaps the dex format needs a detuned variant which can be easily generated from bytecodes.)

Solution 4 - Java

As stated above, many languages are available for developing in Android. Java, C, Scala, C++, several scripting languages etc. Thanks to Mono you are also able to develop using C# and the .Net framework. Here you have some speedcomparisions: http://www.youtube.com/watch?v=It8xPqkKxis

Solution 5 - Java

Clojure can be used, but it's slow.

See also: Clojure fork for Android, and a tutorial.

Solution 6 - Java

I made good experiences with Scala.

I use the simple build tool (sbt: http://code.google.com/p/simple-build-tool/) with the Android-Plugin (http://github.com/jberkel/android-plugin)

Solution 7 - Java

Java and C:

  • C used for low level functionalities and device connectivities
  • Java used for Framework and Application Level

You may find more information in Android developers site.

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
QuestionRoflcoptrExceptionView Question on Stackoverflow
Solution 1 - JavaParesh MayaniView Answer on Stackoverflow
Solution 2 - JavaSethView Answer on Stackoverflow
Solution 3 - JavaamraView Answer on Stackoverflow
Solution 4 - JavainquamView Answer on Stackoverflow
Solution 5 - JavajqnoView Answer on Stackoverflow
Solution 6 - JavanuriaionView Answer on Stackoverflow
Solution 7 - JavamhshamsView Answer on Stackoverflow