使用什么语言来编制Android应用程序?

移动开发 Android
Android应用程序也从不把大量的硬件驱动程序和平台源码向kernel提交。实际上,它创造出了一个kernel的分支,大量的开发者都依赖那个分支。”

Android应用程序最初是由Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序,Android 包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。

“首先,Android应用程序只能用java语言开发。其次,Google对Android采用了一种全面霸权式的管理,完全不是其他开源软件的开发方式,一切都由Google说了算,很多地方是黑箱, 外界不得而知。”没有想到,仅仅过了两天,担忧就变成了现实。Linux Kernel的维护者Greg Kroah-Hartman宣布,将Android 代码从 Linux kernel 代码库中删除。

这意味着,Linux Kernel的开发小组不认可Android的贡献,两者产生了冲突。消息公布以后,外界普遍觉得惊讶和可惜。好不容易,才有了一个这么受欢迎的开源手机系统,应该齐心协力、共同开发才对,为什么要“窝里斗”呢?到底是什么矛盾,使得Linux Kernel小组剔除Android代码呢?

Greg Kroah-Hartman写了一篇详细的文章,解释这个决定。下面就来看看,他是怎么说的,以及Android到底是一个什么样的系统。在这之前,你最好知道Greg Kroah-Hartman是谁。他是目前Linux Kernel的核心开发人员,负责stable软件包的发布。

就是说,每一个新版本的Linux Kernel,都是经过他的手流出来的。此外,他还负责硬件驱动的部署。而他的手机就是HTC G1,每天都在使用。所以,他是绝对有资格谈论这个问题的。

他的看法代表了Linux社区对Android的看法。这就是说,与Ubuntu、Debian、Redhat这样的传统Linux发行版相比,只有系统的底层结构是一样的,其他东西在Android 里都不一样,尤其是程序员的编程接口是完全不同的。

因此,Android应用程序都必须重新写过,现存的Linux程序无法移植上去。所以,从严格意义上说,Android是一种全新的系统,它与Linux的距离,比Mac OS与Linux的距离还要远。

 

它解决了长期令手机制造商头痛不已的问题:业界缺乏一个开源的Java虚拟机,以及统一的应用程序接口。现在,程序员只要写一次程序,就能在各种手机硬件平台之上使用。”这段话解释了,为什么Android应用程序,都必须用Java语言开发。因为不这样做的话,没法让程序做到硬件无关。

且慢,这真的是理由吗?传统的Linux系统,也并不依赖特定的硬件啊!只要把源代码根据不同的平台,分别编译一下,同一个程序不也照样可以在不同的硬件架构、不同的Linux发行版中使用吗?

【编辑推荐】

  1. 新一代的Android手机介绍
  2. 深度剖析Android SDK版本介绍
  3. 谷歌Android手机能否站稳中国
  4. PythonAndroid深度剖析Android应用程序的四种构造块
  5. 探秘与众不同的Android系统?
责任编辑:chenqingxiang 来源: 博客园
相关推荐

2021-04-08 11:10:07

C语言版本Cmake

2011-12-22 10:30:49

2013-11-19 15:35:01

2024-01-15 00:42:55

Go语言应用程序

2023-09-22 09:41:28

LinuxC语言

2011-05-27 08:48:13

Android HTML

2012-03-14 10:02:58

ibmdw

2012-04-11 11:07:18

ibmdw

2012-03-20 09:20:40

Go语言

2011-04-01 11:01:02

应用程序BlackBerryJava

2019-01-04 10:45:31

Windows 10Android应用程序

2023-12-07 08:22:58

Android应用

2010-01-25 13:29:53

Android本地应用

2010-11-18 15:52:32

QMLMeeGo

2011-11-03 09:41:35

Android签名安全性

2014-01-07 10:12:15

Spark

2012-03-20 10:28:43

2021-05-07 08:00:19

应用程序框架

2009-06-10 11:47:32

Android应用程序模块

2011-05-10 13:56:27

Android应用程序Android MarAndroid
点赞
收藏

51CTO技术栈公众号