百科问答小站 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驱动的人最常见动作就是不停重启机器吧。




  

相关话题

  为什么 Linux 系统删除文件那么快? 
  如何看待 WebAssembly 这门技术? 
  非计算机专业自学C++,有什么书籍推荐? ? 
  如何看待OPPO沈义人提出的Find X2是3K屏的概念,3K屏的说法是否合理? 
  为什么我见过的操作系统都是树状存储结构,有没有用关键字来组织文档存储的网状结构的操作系统? 
  linux内核切换成分页模式后,ljmp $__BOOT_CS,$1f 这行代码有什么意思? 
  冯大辉(Fenng)的编程能力到底如何? 
  为什么程序员要使用三元运算符而不是显式写出 if 语句? 
  为什么大学不教javaScript? 
  将记忆保存在电脑上,肉体坏死的人,算死亡了吗? 

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





© 2025-06-25 - tinynew.org. All Rights Reserved.
© 2025-06-25 - tinynew.org. 保留所有权利