可能重复:
Which programming languages can I use on Android Dalvik?
大多数情况下,Android应用程序是用Java编写的。但我听说它也可以使用Scala或其他语言。我还读到可以包含本机C / C ++代码。
是否有可用的参考/列表显示可以使用哪种语言?
答案 0 :(得分:74)
在发布时,Java
是唯一官方支持的用于构建可分发的第三方Android软件的编程语言。
Android原生开发套件(Android NDK),允许开发人员使用C
和C++
构建Android软件组件。
除了提供对原生代码的支持外,Google还在扩展Android以支持流行的动态脚本语言。本月早些时候,Google推出了 Android Scripting Environment (ASE) ,允许第三方开发人员使用perl
,JRuby
,Python
,{构建简单的Android应用程序{1}}和LUA
。有了ASE的想法和用法,请参考Example link。
Scala 也受支持。有关Scala的示例,请参阅这些 Example link-1 , Example link-2 , Example link-3 。
刚才我推荐了一个 Article Here ,其中我找到了一些有用的信息如下:
BeanShell
。(C# .net - Mono, etc)
,LUA
,Perl
,Python
等脚本语言。
我在Google Releases 'Simple' Android Programming Language 阅读了第2篇文章。例如,refer this 。
刚才(2010年8月2日)我读过一篇描述“ Frink编程语言和Android计算工具”的文章,请参阅此链接 Link-1 ,{{ 3}}
2010年8月4日,我发现关于 BeanShell
。基本上,它被认为是高性能图形编程的类C语言,可以帮助您轻松地在Android应用程序中编写高效的视觉效果和动画。它还没有发布,因为还没有完成。
答案 1 :(得分:53)
以下是可用于在Android上开发的语言列表:
Java - 主要的android开发语言
Kotlin,来自JetBrains的语言,获得Google的第一方支持,在Google I / O 2017中宣布
C ++ - NDK用于库,而不是应用
Python,bash,et。人。 - 通过Scripting Environment
Corona - 一个是使用 Corona SDK 。 Corona是一个基于Lua编程语言构建的高级SDK。 Lua比Java更容易学习,SDK在开发Android应用程序时消除了很多痛苦。
Cordova - 使用HTML5,JavaScript,CSS,可以使用Java进行扩展
Xamarin technology - 使用c#,其中使用单声道。 MonoTouch和Mono for Android是Common Language Infrastructure(CLI)和Common Language Specifications的跨平台实现。
关于你的第二个问题:android高度依赖于它的java架构,我发现不太可能很快就会有其他主要开发语言可用。但是,没有特别的理由说明为什么有人无法在Java (类似于Jython)中实现另一种语言并使用它。但是,这肯定不会像在Java中编写代码那样容易或高效。
答案 2 :(得分:9)
problematic支持其他语言:
7)dx工具之类的东西可以强制进入手机,因此Java代码原则上可以继续生成字节码,但是可以将它们转换为VM可运行的形式。但是,目前,Java代码无法动态生成。这意味着Dalvik无法运行动态语言(JRuby,Jython,Groovy)。然而。 (也许dex格式需要一个可以从字节码轻松生成的失谐变体。)
答案 3 :(得分:4)
如上所述,许多语言都可以在Android中进行开发。 Java,C,Scala,C ++,几种脚本语言等。感谢Mono,您还可以使用C#和.Net框架进行开发。这里有一些速度比较:http://www.youtube.com/watch?v=It8xPqkKxis
答案 4 :(得分:3)
Clojure可以使用,但速度很慢。
答案 5 :(得分:3)
我在Scala上取得了很好的经验。
我使用简单的构建工具(sbt:http://code.google.com/p/simple-build-tool/)和Android-Plugin(http://github.com/jberkel/android-plugin)
答案 6 :(得分:1)
Java和C:
您可以在Android开发者网站上找到更多信息。