`
noaighost
  • 浏览: 40253 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

名为“低价手机”的飓风刮来•开发者能做什么—《Android系统源代码情景分析》 试读随笔

阅读更多

名为“低价手机”的飓风刮来·开发者能做什么

Android系统源代码情景分析》 试读随笔

光棍节前,我终于有点时间写些东西,上上网,少不了去淘宝抢抢红包。在浏览网页的同时,铺天盖地的手机推荐,打的就是一个低价再低价。没有人能想到安卓阵型,能如此低价,如大可乐手机、蘑菇手机、智薄手机,当然miui阵容的小米1,2系列就不用说了。

理科生都曾有一个梦想,就像雷军所说的,有自己设计的一台手机。安卓给了我们一个好好的平台,这个平台能够与ioswindows phone三国鼎立,下能扶持着一大堆异想天开的app开发者。日子慢慢推移下,安卓的成长,让我慢慢看到历史的大轮,又再周而复始的滚动。这一幕,跟XP的发展好像,这一幕后的中国是一个什么时代?山寨时代,XP GHOST版的克隆如水银泻地般的“蚕食”所有计算机,深度优化,电脑公司,龙帝等等一些耳熟能详的ghost研发团队开始大张旗鼓制作ghost版的XP,算是定制系统的一种盈利模式吧。

2011年后,一些研发ghost版的xp在法律的打击下,开始转型,有类似雨林木风的企业转型开发linux的操作系统,让linux系统更像windows,当然结局大家有目共睹,我也不多说。还有一批开发团队,开始着手定制手机os,如深度,番茄花园,虽然他们的团队没有miui或者乐蛙那么如雷贯耳,但他们的转型也证明了,计算机时代与手机时代有很多重合的故事。

这也让我慢慢有“自己的”手机,但对于硬件,程序员会是一个硬伤,至少焊接电容都七手八脚。那么程序员的我们到底,怎么去完梦?

那先从ROM开始吧,5个月前,我曾经提取了8118U手机rom出来,当时真的让一个没有用过linux的玩家,欲哭不得。Linux系统没有C,D,E盘的概念,这让我重装系统,装上ubuntu时,整个硬盘变成一个大饼,只有10来个文件夹,当时候,心都碎了,松老师都化为灰了。

之后,我去了一台公用机,挂起了虚拟机,安装ubuntu。系统出来了,但是怎么提取rom呢?很多达人说,你去CM看看有没有自己机型的rom,移植一下就可以了。但是从来没有鸡,怎么会有蛋呢?我挑战的东西,玩大了,是点心OS下的定制系统,该系统的机器不在CM之列,怎么办呢?那就能依靠万能的百度吧,关键字输入“提取rom 命令行”。于是看着教程,root机,root机其实就是得到手机最高的控制权限,跟越狱是一个道理,这对于一个用惯xp的人来说,简直是孤陋寡闻。获取权限后,手机还需要安装一个类似cmd的应用,按着教程,把手机的东西,全部打包成img。问题来了,bootimgsystemimguser什么都的都有img。真的无奈下,我在网上找到邓先生,就是传说的邓凡平。他是一个很有耐心的人,对于我这些毛同,他能回复我的问题,我都已经开心到睡不着了,这个过程好比如1+1,我永远低级的想知道1+1等于多少?但是对于技术大牛,他们想知道的是1+1怎么去证明是等于2,我不断说出自己的想法,问邓先生如何实现rom的安装能方便到ghost一样,同期,我也在问他一个app的问题,就是现在小米实现了关机闹钟的问题,当时小米并没有研发出来,我问邓先生,安卓能不能有一种假死状态,处于关机和飞行模式区间的状态。这样下,屏幕无法点亮,但是内核还是在运作,任何通讯断绝,只是运行闹钟app。这个问题和移植rom的问题,他都简单的用一个回复,回答上了,就是关于“Android系统为什么要把对硬件的支持划分为两层来实现呢?

我用原试读书的解释吧,我们知道,一方面,Linux内核源代码是遵循GPL1协议的,即如果我们在Android系统所使用的Linux内核中添加或者修改了代码,那么就必须将它们公开。因此,如果Android系统像其他的Linux系统一样,把对硬件的支持完全实现在硬件驱动模块中,那么就必须将这些硬件驱动模块源代码公开,这样就可能会损害移动设备厂商的利益,因为这相当于暴露了硬件的实现细节和参数。另一方面,Android系统源代码是遵循Apache License2协议的,它允许移动设备厂商添加或者修改Android系统源代码,而又不必公开这些代码。因此,如果把对硬件的支持完全实现在Android系统的用户空间中,那么就可以隐藏硬件的实现细节和参数。然而,这是无法做到的,因为只有内核空间才有特权操作硬件设备。一个折中的解决方案便是将对硬件的支持分别实现在内核空间和用户空间中,其中,内核空间仍然是以硬件驱动模块的形式来支持,不过它只提供简单的硬件访问通道;而用户空间以硬件抽象层模块的形式来支持,它封装了硬件的实现细节和参数。这样就可以保护移动设备厂商的利益了。

简单的说,就是给你看的给你,不给你看的绝不给你。看了一半一半,你能做的也微乎其微,能抄的也微乎其微。

回应,“你对Android系统的发展有何认识?”。就我而言,我觉得android生命力好强大,他会永远走向开源,吃过3.0闭门羹的安卓,我想他停止一年的发展,是直接导致他2.3份额还高企的原因。不过最近4.04.2的更新过快,感觉他在拖垮第三方rom的研发团队,不过我好期待121日罗永浩的罗ROM。对于1年之后的android,我相信他一定可以像ghost xp一样,然后想更新什么系统,就直接卡刷可以了。“简化刷机方法·通用rom”会是android研发团队的大方向(即第三方,并非google)。

粗略看了一下本书的试读章节,感觉这本书说的好详细,真的是值得拥有。这对于一个没有接触linux的人,很有帮助,注释“丰满”,最重要是排版好精明,看得出笔者对代码的编写格式好有一套!我愿读完此书。

 

分享到:
评论

相关推荐

    VB编程源代码 61飓风浏览器

    VB编程源代码 61飓风浏览器VB编程源代码 61飓风浏览器VB编程源代码 61飓风浏览器VB编程源代码 61飓风浏览器VB编程源代码 61飓风浏览器VB编程源代码 61飓风浏览器VB编程源代码 61飓风浏览器VB编程源代码 61飓风浏览器...

    Android 3D游戏开发技术宝典 源代码1

    《Android 3D游戏开发技术宝典》源代码1提供了丰富的3D游戏开发实例,涵盖了从基础到进阶的关键技术。以下将详细解读这些章节所涉及的知识点。 1. **第2章 游戏开发基础知识**:本章是游戏开发的入门篇,介绍了游戏...

    Delphi飓风影音播放器源代码

    通过研究飓风影音V1.0的源代码,开发者不仅可以学习到如何在Delphi环境下开发多媒体播放器,还能提升对多媒体处理、事件驱动编程、图形用户界面设计以及错误处理等方面的理解和实践能力。对于想要深入学习Delphi和...

    Delphi飓风影音播放器源代码..rar

    【Delphi飓风影音播放器源代码分析】 Delphi,由Borland公司开发的集成开发环境(IDE),是一款强大的Windows应用程序开发工具。它以其高效的编译器、面向对象的 Pascal 语言(Object Pascal)以及丰富的组件库...

    VB编程源代码 61飓风浏览器.rar

    VB源代码的分析对于理解浏览器的工作原理至关重要,同时也为开发者提供了学习和借鉴的宝贵资源。 首先,VB编程的核心在于其组件和对象模型。61飓风浏览器的源代码中,可能包含了一系列控件,如WebBrowser控件,它是...

    Android 3D游戏开发技术宝典 源代码2

    本资料集"Android 3D游戏开发技术宝典 源代码2"提供了丰富的实践示例,帮助开发者深入理解和掌握相关技术。以下是根据压缩包内各章节标题解析出的关键知识点: 1. **第18章 传感器应用的开发**: - Android传感器...

    FPGA红色飓风开发板资料

    在开发过程中,开发者通常会编写Verilog或VHDL等硬件描述语言的代码,然后使用验证程序来仿真和测试这些代码,确保在实际硬件上能正确运行。验证程序可能包括基础的激励生成、覆盖率分析和错误检测等功能。 **FPGA...

    飓风收费系统源码

    飓风收费系统源码是一个专为管理收费流程而设计的软件系统。它的核心目标是高效、准确地处理各种收费操作,可能广泛应用于停车场、高速公路出入口、公共设施收费等多种场景。下面将详细介绍这个系统的相关知识点。 ...

    飓风信息管理最新修正版

    在中国,开源社区和代码共享经常通过类似的名字进行标识,这可能意味着飓风信息管理系统的一部分代码已经开源,供开发者查看、学习和贡献。这种开放源码的实践有助于提高系统的透明度,吸引社区参与,同时也可能提升...

    飓风主机购买系统

    总的来说,"飓风主机购买系统"是一个集虚拟主机、域名管理、订单处理、支付、售后和安全保障于一体的综合电商平台,旨在为商家和用户提供高效、安全、便捷的在线服务交易环境。其强大而全面的后台管理系统,充分体现...

    飓风信息管理系统 v1.1

    提供5种新闻调用方法:XML新闻调用,静态数据包新闻调用,ASP新闻调用,JS新闻调用,IE内嵌式新闻调用,本系统只提供后三种新闻调用模式,如果您需要前两种新闻调用模式请购买《飓风信息管理系统V1.8纪念板》或...

    飓风留言本

    通过分析源代码,开发者可以学习到系统的架构设计、数据库交互方式以及如何实现特定功能。同时,源码的开放性也使得用户可以根据自己的需求进行定制化修改。 "资源"标签可能指的是除源代码之外的其他辅助文件,如...

    LED_RUN.rar_led_run.v_run_红色飓风

    本篇文章将重点围绕“LED_RUN.rar_led_run.v_run_红色飓风”这一主题,详细探讨红色飓风四代开发版跑马灯的开发例程,为FPGA初学者及有经验的开发者提供参考。 首先,我们来了解“LED_RUN.rar”。这是一个压缩文件...

    飓风3耳机EQ音效调整软件

    【飓风3耳机EQ音效调整软件】是专为飓风3耳机设计的一款音效定制工具,它允许用户根据个人喜好调整耳机的音频输出,以达到最佳听觉体验。这款软件的核心功能在于均衡器(EQ),它能对不同频率的声音进行独立调整,...

    world wind 源代码

    NASA World Wind是一款虚拟地球仪软件,像Google Earth一样,可以用它来查看地球的卫星照片。  NASA World Wind俗称地球放大镜,是NASA(美国)国家航空和宇宙航行局联合出品,类似Earthview 3D的鸟瞰工具,更加权威...

    FPGA红色飓风II代原理图

    **FPGA红色飓风II代原理图详解** FPGA(Field-Programmable Gate Array)是一种可编程逻辑器件,它允许用户根据需求自定义电路结构,广泛应用在数字系统设计、原型验证、高速信号处理等领域。"红色飓风II代"是FPGA...

    飓风3代-3s700A/1400)配套的教程资料

    【红色飓风开发板飓风3代-3s700A/1400教程资料详解】 在电子设计领域,FPGA(Field-Programmable Gate Array)因其灵活性和可编程性,被广泛应用于各类硬件开发项目。"红色飓风开发板"是一款基于FPGA的开发平台,而...

    红色飓风2带代码

    红色飓风2代光盘例程,入门很有帮助,供大家参考

    飓风穿还原下载者3生成器

    总的来说,飓风穿还原下载者3生成器是针对Windows XP用户的一款实用工具,通过其强大的在线更新和灵活的还原点管理,能有效提升系统的安全性与稳定性。然而,随着Windows XP系统的退役,用户也需要考虑升级到更现代...

Global site tag (gtag.js) - Google Analytics