一直有疑问的一件事,系统高人和驱动大大来解。 完整的Android系统定制一旦完成,编译生成最终ROM IMAGE,方方面面包括各个驱动就固定下来。此后,如要升级某个设备驱动,哪怕某个驱动模块只有一个字节需要改良,流程上必须要完整过一遍,输出新的ROM IMAGE,替换原来的整个???
考虑一种情况,经由OTG支持的USB存储设备,如U盘,就算厂商(主芯片原厂)已把市场上现有一百种U盘都测试过了,保不准明天就有个新型U盘问世,接上去,机器不认识,厂家是否要放出个新的ROM来升级,还是干脆不管了???
Windows和Linux都支持动态安装设备驱动程序,Android支持“驱动升级”么???
另一种例子,用于平板的芯片,几乎都有视频硬件解码,平板强调媒体能力,视频媒体播放器一类的程序,必借助于解码硬件,codec的具体实现会转向硬件完成,由于只有芯片原厂才知道自己的硬解码核,这个媒体播放器就只有原厂去做(纯软解的需要极高的CPU Hz数,ARM系统目前不到,不提),问题是,原厂精于codec和filter硬件驱动,未必想去做绚丽精致的界面,第三方乐于做出优秀的界面,却无法去调动芯片的硬件解码能力。 聪明的google,把驱动从内核中拉出,驱动不需开源,保护了芯片商的利益,但google就没有一个机制来建立驱动与应用间的标准接口么?驱动其实就无需开源,只要接口符合google制定的规范,原厂只提供库以及向第三方提供类似API的东西,上层的应用不就不需要芯片原厂来操心了么。 是我理解错了?那么,这两个问题google是如何处理的呢。
考虑一种情况,经由OTG支持的USB存储设备,如U盘,就算厂商(主芯片原厂)已把市场上现有一百种U盘都测试过了,保不准明天就有个新型U盘问世,接上去,机器不认识,厂家是否要放出个新的ROM来升级,还是干脆不管了???
Windows和Linux都支持动态安装设备驱动程序,Android支持“驱动升级”么???
另一种例子,用于平板的芯片,几乎都有视频硬件解码,平板强调媒体能力,视频媒体播放器一类的程序,必借助于解码硬件,codec的具体实现会转向硬件完成,由于只有芯片原厂才知道自己的硬解码核,这个媒体播放器就只有原厂去做(纯软解的需要极高的CPU Hz数,ARM系统目前不到,不提),问题是,原厂精于codec和filter硬件驱动,未必想去做绚丽精致的界面,第三方乐于做出优秀的界面,却无法去调动芯片的硬件解码能力。 聪明的google,把驱动从内核中拉出,驱动不需开源,保护了芯片商的利益,但google就没有一个机制来建立驱动与应用间的标准接口么?驱动其实就无需开源,只要接口符合google制定的规范,原厂只提供库以及向第三方提供类似API的东西,上层的应用不就不需要芯片原厂来操心了么。 是我理解错了?那么,这两个问题google是如何处理的呢。
解决方案 »
- LinearLayout里上下两个TextView,希望下边的这个,跟上边那个右对齐。怎么做?
- 关于R.java的问题
- 关于Android短信的问题
- listview的getView里面返回LinearLayout,为何报错了?
- 如何从后台service传递数据到前台正在运行的activity?
- 如何在Service中更新Activity的UI?
- View2.setBackgroundResource 后 View1.setLeft 的位置无效的问题
- 将一个已有的公司管理系统,修改为移动app难度有多大?
- 请问使用fragment+viewpag,点击按钮时,弹出界面的问题
- Rxjava取消了AndroidSchedulers.mainThread()吗,为什么提示我没有这个方法呢,我用的Rxjava1.1.3版本
- getResources().getDisplayMetrics()得到的DisplayMetrics为何不同
- FC错误 :java.lang.IllegalArgumentException: x + width must be <= bitmap.width()
硬件的兼容问题,比如要兼容多个camera,我想通过读ID的方法,独到相应的id,
就加载相应的驱动,可以做到吗
我觉得这应该不只是linux的问题,因为要支持一个外设,部分文件编译到boot.img,
部分文件编译到用户空间的so。
大家有没有好的解决方案,share下