Android是语言还是框架/平台?


13

我知道Android在有限的Java SDK中使用Java语言,而Google声称它不是Java。但是说Android是一种编程语言是否正确?还是更恰当地说Android是Java框架?还是两者都是真的?


Answers:


36

Android是一个操作系统(还有更多,请参见下文),提供了自己的框架。但这绝对不是一种语言。

来自developer.android.com

Android是用于移动设备的软件堆栈,其中包括操作系统,中间件和关键应用程序。Android SDK提供了开始使用Java编程语言在Android平台上开发应用程序所需的工具和API。


5

Android不使用Java语言。它具有脱机编译过程,可以将JVM字节码转换为Android可以理解的Dalvik字节码,但是Android附带的功能可以直接理解Java或与Java协同工作。相反,您可以使用其他现有工具将Java(或任何其他JVM语言)编译为字节码,然后将其交给Dalvik进行其余操作。


3

Java只是Android开发支持的首选语言。Google选择为Java语言创建SDK和用于流行的Eclipse Java IDE的插件,因此有一种易于使用的工具集可以用流行的语言创建Android应用。
这里令人困惑的部分是Java语言和Java虚拟机是两回事。当标准Java程序在您的PC上运行时,它正在运行的代码被编译为要在Sun Microsystems Java虚拟机中运行的字节代码。基本上,Android具有自己的虚拟机,该虚拟机也运行字节码。当您运行Android应用程序时,其运行代码被编译为Android虚拟机可以理解的字节代码。因此,尽管Java是首选语言,但从技术上讲,您可以使用任何语言编写android应用程序,只要您有能力将其编译为Android字节码即可。(尽管我认为其他语言均不提供任何工具)


1
在我看来,dx可以在任何JVM字节码上运行:Java,Jython,Scala,请选择。自动化它主要涉及修改Ant规则。
geekosaur 2011年

2

Android是一个免费的开源平台,任何人都可以使用。Android操作系统是多用户Linux系统,其中每个应用程序都是不同的用户。Android依靠Linux版本2.6获得核心系统服务,例如安全性,内存管理,进程管理,网络堆栈和驱动程序模型。


1

Android是包括操作系统,中间件和关键应用程序在内的移动设备的开源软件堆栈(解决方案堆栈是交付功能完整的解决方案(例如产品或服务)所需的一组软件子系统或组件)。因此,将其视为框架在某种程度上是正确的。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.