论Android移植到现有硬件平台的可行性
创始人
2024-03-21 15:10:56
0

通过前两天对Android的Linux平台以及启动过程的初步学习,我觉得Android的意义不仅仅是手机平台那么简单,通过对其框架,结构的分析,我们可以将Android应用到任何移动硬件平台上,甚至自己研发出新的更好的框架。连Google自己也说,我们的目标是,让我们发布的强大的平台能够应用到数千种不同的移动设备上。这是可以理解
的,Google就是这样,它的每个策略都比常理要更进一步。不推出专属的硬件,而是一个通用的移动设备的软件平台,使Android可以更方便的快速占领手机操作系统的市场,而最终可以达到的份额也会非常的可观。

当然,这都是后话了,group上这几天的焦点话题就是,我们如何让Android在现有的硬件平台上跑起来,而不是仅仅用模拟器来模拟它?这个命题估计对所有hacker都有巨大的吸引力,如果Android能在自己的手机平台上跑起来,所有的开发,就突然变得有意义了。我不是说目前的开发没有意义,毕竟GoogleN位数的奖金在那里摆着的,呵呵,不过对于上层开发者来说,最终目的还是应用的实际性和流行性,对吧?应用有没有实际价值,实际硬件平台上跑一跑就知道了。

从Android现有的开源情况看,所有的hacking已经有一个比较明确的指导方向了,就是依靠Benno***放出的方法来hack各种image并分析一些东西,从我之前的两篇文章也可以看出大致步骤。我们现在能够得到的东西,包括ramdisk image,system image以及data image,当然还有open source的Linux kernel。所以,所有的工作都应该从这几个东西入手。先看看kernel部分。由于Android基于Linux,因此所有的目标移植平台都应该允许运行Linux,对于尝试阶段的我们来说,***是找一款默认就是采用Linux操作系统并提供完善的develop environment的设备,这样,我们只需要找出Google提供的Linux 2.6.23 kernel和现有的kernel有什么不同,把所有需要的修改做成patch,patch到现有系统上,就有可能成功移植整个Android,无须重新编译Google的Linux 2.6.23 kernel,然后绞尽脑汁想怎么port到某个设备上。先下载一个standard Linux 2.6.23 kernel,然后使用命令diff -ruN linux-2.6.23/ Google-linux-2.6.23/ >lk.patch打开lk.patch,God,有3万多行。仔细分析一下,大部分都是和Qemu以及goldfish有关的。我们要做的事情,是让Android
在真实平台上跑起来,所以不管是用于虚拟处理器的Qemu还是SDK模拟的硬件平台Goldfish,都不是我们所需要的,要在patch里面去掉他们,因为我们希望运行在真实的硬件平台上。恩,说实话,是一个很麻烦的事情,你要分析又30000多行的patch阿……不过里面有一超长段是关于yaffs的补丁,如果你目标平台所带的内核已经支持yaffs了,就没必要要了。这是我修改后的patch,放在googlepages上的,要是哪天又被和谐了我也没有办法。

下一步,就是让打了Android patch的内核运行在你的目标硬件上,具体步骤是和不用硬件的开发环境相联系的。当然,还需要导入Android的rootfs以及filesystem。将他们用mkfs.jffs2构建成jffs文件系统即可。需要注意的是,这个合适的硬件平台是需要挑选的,看看Android模拟器里面的信息:
# cat /proc/cpuinfo
Processor : ARM926EJ-S rev 5 (v5l)
BogoMIPS :
331.77
Features : swp half thumb fastmult vfp edsp java
Google默认的是ARM926EJ-S核心。这就在一定程度上限制了我们能够port的平台选择,Benno曾经试验
在Openmoko上移植Android,***失败了,原因就是ARM926EJ-S采用的是ARMv5TEJ指令集,而Openmoko的ARM920T采用的是ARMv4T指令集。所以,不仅仅是需要能运行兼容EABI的Linux的设备那么简单。

以上是理论步骤的逻辑分析,由于我目前手上没有试验平台,所以也无法验证,如果有朋友***成功移植了Android,多多交流。

【编辑推荐】

  1. Android曝安全漏洞 黑客可安装击键记录软件
  2. 新版Android SDK搞差别待遇 Google激怒开发人员
  3. 初识Android程序开发(1)

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...