一直有疑问的一件事,系统高人和驱动大大来解。 完整的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是如何处理的呢。
解决方案 »
- android相机开发的问题
- 新手求教,关于多选dialog 多选项限定
- 请教我这个表格布局中的editview如何做到和屏幕一样宽,
- android能否实现在程序中检测是否安装证书??
- 为什么我在activity中发intent给broadcastreceiver,却接收不到
- 如果使程序具备多个界面主题风格?
- 我想实现用户按下某个按键后屏幕旋转90度,改怎么做??
- 在手动断网出现 webpage not available处理
- android4.3 ble如何进行advertise广播
- Android手机端用scoket上传压缩图片
- getResources().getDisplayMetrics()得到的DisplayMetrics为何不同
- FC错误 :java.lang.IllegalArgumentException: x + width must be <= bitmap.width()
硬件的兼容问题,比如要兼容多个camera,我想通过读ID的方法,独到相应的id,
就加载相应的驱动,可以做到吗
我觉得这应该不只是linux的问题,因为要支持一个外设,部分文件编译到boot.img,
部分文件编译到用户空间的so。
大家有没有好的解决方案,share下