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




  

相关话题

  APP容易发现MIUI12使用的空白通行证吗?如果流氓APP发现你设置空白通行证就不让用怎么办? 
  你们怎么看待谷歌「除名」华为?如果以后真的不会给华为适配Android ,会怎么样? 
  如何评价《慕尼黑:Linux带我们到地狱 将在2020年全面拥抱Windows》? 
  如何引导程序员新人按正确的流程开发? 
  如何评价华为官方Matebook14 Linux版? 
  为什么别人家的手机可以更新安卓版本,而vivo和OPPO不能?是因为硬件不支持么?其他手机怎么能升级? 
  android主线程如何保证获取足够的时间片? 
  VS2013如何在不使用插件的情况下显示引用数量? 
  为什么国内手机厂商几乎都不用原生安卓? 
  Windows 的文件夹的权限管理为什么乱七八糟的? 

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





© 2025-03-14 - tinynew.org. All Rights Reserved.
© 2025-03-14 - tinynew.org. 保留所有权利