详细说明Android手机服务特征

移动开发 Android
同一个核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等,下面说明一下Android手机服务。

Android 包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能,Android手机服务是一种全新的系统,它与Linux的距离,比Mac OS与Linux的距离还要远。

我也曾经对它充满了期待,但是后来的事态发展,令我改变了看法。前几天,我就在网志上写了自己的担忧:“首先,Android应用程序只能用java语言开发。其次,Google对Android采用了一种全面霸权式的管理,完全不是其他开源软件的开发方式,一切都由Google说了算,很多地方是黑箱, 外界不得而知。”

没有想到,仅仅过了两天,担忧就变成了现实。Linux Kernel的维护者Greg Kroah-Hartman宣布,将Android 代码从 Linux kernel 代码库中删除。这意味着,Linux Kernel的开发小组不认可Android的贡献,两者产生了冲突。

[[9017]]

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

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

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

首先,他指出Android和其他的Linux发行版不一样:Google只用了kernel,别的东西都没用。”这就是说,与Ubuntu、Debian、Redhat这样的传统Linux发行版相比,只有系统的底层结构是一样的。

其他东西在Android 里都不一样,尤其是程序员的编程接口是完全不同的。因此,Android应用程序都必须重新写过,现存的Linux程序无法移植上去。所以,从严格意义上说,Android是一种全新的系统,它与Linux的距离,比Mac OS与Linux的距离还要远。

里面的关键在于,Kernel和Android的许可证不一样,前者是GPL许可证,后者是Apache Software License(简称ASL)许可证。GPL许可证规定,对源码的任何修改都必须开源,所以Android开源了,因为它修改了Kernel。

而ASL许可证规定,可以随意使用源码,不必开源,所以建筑在Android之上的硬件驱动和应用程序,都可以保持封闭。为了得到更多厂商的支持,Google有意选择了这样做,并且特意修改Kernel,使得原本应该包括在kernel中的某些功能,都被转移到了userspace之中,因此得以避开开源。

人们有权利质疑,Android这样的哲学是否正确?是否符合Google“不作恶”的口号?如果Android继续这样封闭下去,那么开源社区为什么要为它免费制作软件呢?因为我又不是在为开源社区服务,而是在为Google服务。既然这样的话,那还不如去支持iPhone呢,至少能在软件商店里多卖一点钱,而且乔布斯看上去也更酷一点。  

【编辑推荐】

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

2010-02-05 18:09:12

Android

2010-02-04 14:41:52

Android菜单类型

2010-03-03 16:37:49

Android智能手机

2010-02-06 17:43:51

Android应用

2010-02-06 15:53:55

2010-02-04 15:20:50

Android SDK

2010-02-04 09:55:46

Android DEX

2010-03-05 14:16:38

Android设计平台

2010-02-05 17:04:31

Android版本

2010-03-03 17:11:08

2010-02-05 17:34:37

Android 2.1

2010-02-06 16:57:43

Android操作系统

2010-03-05 13:54:09

2010-03-05 15:58:11

操作系统Android

2009-12-28 09:26:09

ADO对象

2010-03-05 14:43:22

Android浏览器

2010-07-21 13:17:52

Perl文件读写

2009-12-08 09:00:14

WCF线程

2009-12-07 18:06:46

WCF框架

2010-02-22 17:54:07

Python工具
点赞
收藏

51CTO技术栈公众号