百科问答小站 logo
百科问答小站 font logo



Android为什么不直接执行Linux的程序?而是自己搞一套? 第1页

  

user avatar   bluedrum 网友的相关建议: 
      

1.Android 本身运行Linux之上,同样环境可以直接运行Linux程序的。只不过Android的标准C库是重写过,所以在Linux 下编译动态链接程序无法直接运行,但静态链接程序或者是在Android的环境重编译一次后是可以运行。比如说root后手机运行嵌入式shell解释器--busybox 。就是一个标准Linux C程序,只不过重编译一下。

Android 自己也带了大量小工具,比如手机上运行 setprop ,getevent 就是命令行工具。

并且程序还能跳开Android界面直接操作显存,这样就象粗暴把屏幕冲掉一样。

2.Android 开发一整套框架的最核心的原因,在iphone当出世的年代,其它能够与其抗衡的移动设备GUI框架几乎没有。比如支持多点解摸,比较漂亮又适合移动设备界面,以及一个移动设备需要配套各种支持组件(成熟的输入法,硬件配置,移动的浏览器,稳定的电话通讯模块)。Android自己从头写一套东西。

至于说其它,使用java虚拟机,HAL版权保护之类,都是这个出发点带出来东东。

ps: 魅族的M8相当于实现Android一半的工作量。它在WinCE上几乎完整开发一整套体系。但是很可惜这个WinCE太不给力,主要对新兴硬件支持很难。还不如在Android上来改进。

ps2:Moto出一款在中国大卖的 A1200 到后升级到A1800。就比较超前的Linux手机,用的Qtopia,就是后来死在Nokia手里MeeGo 前身,也有一整套东西,但是公司实力太小了,而当时没有iphone 界面参考,大家都是很简单的图形界面,即便这样已经超前很多了。




3.至于说Android 说的自己HAL可以跳开开源协议,做自己的私有驱动,至少我看到几乎没几个产家这样做。现有HAL驱动仍是对Linux的驱动的封装,很简单Linux的驱动又多又好,更新还快,免费拿来马上就用。自己重新整个还得自己花钱请人开发,不见的比Linux做得好,而且调试相当相当相当麻烦,我相作做过Android HAL驱动的人最常见动作就是不停重启机器吧。




  

相关话题

  函数式编程(Functional Programming)相比面向对象编程(Object-oriented Programming)有哪些优缺点? 
  老大只让用vi写代码该怎么破? 
  编程领域都有哪些牛逼闪闪的「禁术」? 
  Notepad++的开发者侯今吾是一个怎样的人? 
  如何拯救编程能力? 
  语法糖dsl之类是否破坏代码风格? 
  为什么要开源? 
  有哪些让人相见恨晚的 MATLAB 命令? 
  3·15晚会曝光的手机充电桩是否能盗取iPhone用户的信息甚至操控消费?原理是怎样的? 
  华为的鸿蒙系统未来可以超越安卓甚至iOS吗? 

前一个讨论
Evernote 5 for Mac 的使用体验如何?
下一个讨论
怎样自己写一个简单的操作系统?





© 2024-11-05 - tinynew.org. All Rights Reserved.
© 2024-11-05 - tinynew.org. 保留所有权利