经过以前已经移植Eclair(Android2.1)移植到MIPS平台的 经验(请参考我博客中的相关文章),移植Froyo相比移植Eclair简单多了。在此把移植Froyo的一些经验在本文做一个总结,如果有朋友也在移植 Froyo(尤其是移植到MIPS平台)的话,可以少走一些弯路。

下载MIPS Froyo源码

移植Froyo的第一步肯定是下载源码,否则就是“巧妇也难为无米之炊”了。你可以用以下命令从 Android on Mips社区 下载Froyo源码。

repo init -u git://public.mipsandroid.com/mips/platform/manifest.git -b mips-froyo

下载的时候还是挺不顺利的,好像有时候还是要被墙的(郁闷),我就没有下载成功,让同事帮忙下载的。

编译MIPS Froyo源码

编译源码的步骤可以参考我关于移植 EClair的博文《 移植 Android到MIPS平台(续) 》,根据该文介绍更新一下build/envsetup.sh,定义一些环境变量就可以顺利编译通过了。注意需要JDK1.5,如果你 用的是JDK1.6的话,需要稍微修改一下build/core/main.mk文件,只要你对Linux正则表达式比较熟悉,应该不是问题,很简单。

下载Froyo的Kernal源码

下载完成之后,一浏览Froyo的源码发现没有包括Kernal的源码。开始以为Froyo可以跑在Eclair的kernal上呢,经试验发现 Froyo跑在Eclair的kernal上面会崩溃,通过万能的谷歌查询,发现需要合并Froyo的kernal补丁。还以为是Mips社区公布的源码 有问题,没有公布Kernal的源码呢。还特地向MIPS进行了询问,得到答复是kernal自己维护,MIPS不维护kernal源码。后来发现是谷歌 从Froyo开始,Kernal的代码需要单独下载,当然Mips的Android源码中也没有Kernal的源码了。这下就明白为什么MIPS的 Froyo中没有kernal的源码了。可以用如下地址用repo或者git下载:

https://android.git.kernel.org/kernel/common.git
http://android.git.kernel.org/kernel/common.git
git://android.git.kernel.org/kernel/common.git

移植Froyo的kernal到MIPS平台

有了移植Eclair的经验,这步其实也挺简单,就是把Eclair的kernal的驱动补丁打到Froyo的kernal就可以了。Froyo的 kernel就可以跑起来了,Eclair可以在Froyo的kernal上面运行,但是Froyo不能在Eclair的kernal上面运行,说明谷歌 向后兼容还是做得不错的啊!

移植Froyo

在Kernal跑起来之后,下一步就是要把Froyo移植到MIPS平台上面来。这一步主要是修改init.rc文件,使其适合自己的系统的文件系统。请 参考我的博文《 Linux内核怎样启动Android 》,介绍了kernal启动Android的情况。修改好了init.rc之后,Froyo居然 就跑起来了。顺利的有点儿出乎意料啊~!(主要是因为Eclair移植的时候费了好大的力气。)

定制Froyo

“世界上没有完全相同的两片树叶”,对于平台和产品也一样的。Froyo移植成功之后,一般都要为自己的平台和产品定制。我以前的大部分针对Eclair 的博文都是适用于Froyo的,比如《 让Android设备永不锁屏 》,《 让Android设备永不锁屏(续) 》,《 定制Android关机界面 》等。

总结

通过上面的描述,你可能觉得“其实移植Froyo到MIPS平台也没有什么有技术含量的东西”。主要因为:

1、Android on Mips社区 已 经在我移植之前做了大量的工作(在此表示感谢)。

2、我们在移植Eclair到MIPS平台的时候已经积累了大量的经验,对移 植Froyo帮助很大。

最后,预祝你移植Froyo也一帆风顺。

转自:http://my.unix-center.net/~Simon_fu/?p=786

Froyo(Android2.2)移植到Mips平台经验总结相关推荐

  1. unity许可证不可用_不可思议之梦蝶从PC版移植到Nintendo Switch经验分享(上)

    本文将分享队友游戏制作人李喆Unite 2019上的技术演讲-<不可思议之梦蝶>从PC版移植到Nintendo Switch经验分享. 受篇幅限制,本次演讲将分享二篇内容.本文将分享:需要 ...

  2. 《蜡烛人》制作人高鸣:如何原汁原味的将主机游戏移植到手机平台

    高鸣:大家好,我是高鸣,我是交典创艺的创始人也是游戏的制作人,准确地来说,我是这个团队里面的主程+主策.<蜡烛人>是比较有代表性的一款游戏,<蜡烛人>这款游戏基本上所有的代码都 ...

  3. 华为鲲鹏专家解读:90%代码如何移植到鲲鹏平台

    摘要:探讨一下软件移植到鲲鹏平台过程的原理,以及软件工程的相应的过程. Linux环境下跨平台软件移植过程中,需要开发者阅读代码.手工修改.反复编译和调试,移植周期长,效率低,那么如何改进周期长,效率 ...

  4. M8软件开发经验总结:移植黄金岛斗地主的经验分享

    8的软件 开发经验总结                         -- 移植黄金岛斗地主的经验分享   by houss  2009.08.02 移植黄金岛斗地主到m8手机 ,是我第一次给win ...

  5. linux mkfs 源码,mkfs工具怎么移植到嵌入式平台下面

    找到了e2fsprogs-1.41.3的源码,怎么修改编译后才能移植到嵌入式平台? 有交叉编译工具.但是不知道怎么修改Makefile文件 刚开始e2fsprogs的源码里没有Makefile文件 但 ...

  6. python是开源的它可以被移植到许多平台上对吗_Python程序设计答案

    [其它]编写一个 Python 程序,输出如下图形效果. ++++++++++ + + ++++++++++ 2. 根据输入的百分制成绩,输出其所对应的五级制成绩. 3. 根据输入的身份证号码,输出对 ...

  7. lua脚本移植到linux平台,如何将lua移植到arm平台的linux内核

    将脚本移植到内核是一件很酷的事情,lua已经被移植到NetBSD的内核中,也有一个叫lunatik的项目把lua移植到了linux内核,只可惜只支持x86,不支持arm,在网上搜索了下,没有找到现成的 ...

  8. oracle10g数据库复制,windows 下oracle 10G 数据库移植到 linux平台 (通过文件直接复制方法)...

    windows 下oracle 10G  数据库移植到 linux平台 (通过文件直接复制方法) 最近学习了一下oracle数据库启动原理,于是,就把在windows创建起来做测试的数据库 移植到li ...

  9. 基于芯科Host-NCP解决方案的Zigbee 3.0 Gateway技术研究(三)-移植到ESP32平台(1)

    相关系列文章 基于芯科Host-NCP解决方案的Zigbee 3.0 Gateway技术研究(-)-Z3GatewayHost应用搭建 基于芯科Host-NCP解决方案的Zigbee 3.0 Gate ...

最新文章

  1. 计算机林中鸟歌曲,励志歌曲曲-林中鸟
  2. 英伟达的STEAL AI让神经网络拥有更好的计算机视觉
  3. CodeForces - 833B The Bakery
  4. python中字符串中文乱码_Python字符串开头的bquot;、uquot;、rquot;与中文乱码
  5. 【计算摄影】计算机如何学会欣赏照片的美感?
  6. 长春市计算机学校老照片,松江这所学校一百年啦!一组老照片回忆曾经的旧时光…...
  7. android 抓取webview中的所有图片_如何一键提取PDF文档中的所有图片?
  8. P2249 【深基13.例1】查找(AC) 2022.1.28
  9. matlab 运算程序时间计算
  10. IBM 确认裁员约 1700 人;华为新款操作系统来了!开通 5G 服务不换卡不换号 | 极客头条...
  11. cube 一站式云原生开源机器学习平台
  12. MPLS virtual private network OptionA实验(华为设备)
  13. “被裁员之前,没得到任何风声,措手不及...” 一个在职6年测试工程师内心独白
  14. 项目实践-基于视觉的自动驾驶正向碰撞预警(matlab代码)
  15. word里面的表格调整行高技巧
  16. oracle general ledger,处理 Oracle General Ledger 调整期间
  17. myeclipse web mysql_myEclipse,web项目连接数据库
  18. Qt Excel操作
  19. 弱人工智能时代,如何跨越技术与产品的鸿沟?
  20. 词霸天下---208 词根【-freeze- = -frig- = -friger- 冷,冰冻 】

热门文章

  1. java微秒精度怎么弄,java时间精确到微秒
  2. OR-CAD CAPTURE学习笔记——ERROR(ORCAP-11010)
  3. swagger屏蔽某些接口
  4. 基于http-flv的抖音直播端到端延迟优化实践
  5. 设计一个程序,程序中有三个类,Triangle,Lader,Circle。
  6. 不用分片也能扩展 10 倍性能?简单了解以太坊 Turbo-Geth 客户端
  7. 认识 MongoDB 一篇文章就够了
  8. 程序员又背锅了!虾米音乐代码注释惊现“穷逼vip”
  9. 使用IDEA整合SpringMVC和Mybatis(SSM框架)(二)
  10. net 预览文件 转换文件