android平台刷机包的制作研究.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
android平台刷机包的制作研究

下面的做法是在linux下面完成的(slackware 13.1): (1)下载和编译android的源代码,具体过程不再赘述 如果各位还不知道repo sync之类的命令的话,可以参考网上的关于下载android源代码以及编译的文章,据偶所知这些文章非常丰富。编译之前一定要注意平台的选择,不同平台的驱动程序是不一样的!这些参数可以通过: $ cd android-src? ? 进入android的源代码目录 $ . build/envsetup.sh 设置环境变量,运行完毕后,你可以输入一下help命令,看看google的团队提供了多少有用的便利命令,这对于我们以后修改代码重新编译非常有帮助。 $ lunch generic-eng? ?开始配置android的源代码的编译选项 运行上述命令后会看到如下输出: wayne@wayne:~/android-src$ lunch generic-eng ============================================ PLATFORM_VERSION_CODENAME=REL PLATFORM_VERSION=2.1-update1 TARGET_PRODUCT=generic TARGET_BUILD_VARIANT=eng TARGET_SIMULATOR=false TARGET_BUILD_TYPE=release TARGET_ARCH=arm HOST_ARCH=x86 HOST_OS=linux HOST_BUILD_TYPE=release BUILD_ID=ECLAIR ============================================ $ make -j2? ?只有双核的CPU的朋友可以尝试此参数,四核的朋友可以试试-j4,否则就老老实实运行make即可:D。 然后就是一个漫长的等待,这个时间大概有1-2小时左右(偶的机器比较慢),完全编译完毕以后硬盘的占用大概需要8个G左右。 (2)编译完成以后,进入wayne@wayne:~/android-src/out/target/product/generic目录,应该会看到如下的文件: android-info.txt?? data? ?? ?? ?? ?? ??? obj? ?? ?? ?? ?? ?? ?? ??? ramdisk.img?? sdk? ?? ? system? ?? ? userdata.img clean_steps.mk? ? installed-files.txt?? previous_build_config.mk?? root? ?? ?? ? symbols?? system.img 这里的system.img是不是很眼熟?!对拉,这个就是刷机包里面好像也有一个叫做什么system的目录,那么这个system.img里面都有什么呢?这里面的东西其实就是当前目录下的一个叫做system的目录里面的内容了,只是保存成了yaffs文件系统的格式。我们可以通过unyaffs工具来把system.img给解开来看看,就明白偶说话了。 unyaffs的代码下载地址为: /p/unyaffs/downloads/list 编译方法非常地简单,只需要下载源代码,然后运行: $ gcc -c unyaffs.c $ gcc -o unyaffs unyaffs.o 即可生成这个unyaffs的解包工具,利用这个工具就可以把自己生成的system.img进行解包,然后修改里面的内容了。 unyaffs使用方法非常简单: $ unyaffs system.img [回车] 即可将system.img解包成一个叫做system的目录,里面包含了整个android的文件系统(何为文件系统?!如果提出这个问题的话,偶就不多说什么了,回家啃啃大学里面计算机专业的操作系统那本书吧) (3)刚刚开始,不适合一切从头来,还是老实一些,先从修改别的大牛们做得刷机包开始吧 首先拷贝一个从网上下载下来的刷机包,然后找一个目录解压缩(当然,这是最保险的做法,自己做这些目录也没有任何问题,只是比较费时间而已) $ unzip xxxxxx.zip? ? 这个xxxxx.zip就是从网上下载的某刷机包(一定要跟你的代码版本基本一致喔,偶在这里用的是2.1的刷机包) (4)替换原有的system目录 解压缩刷机包以后,会看到在开篇的时候提到的两个目录,一个文件: boot.img META-INF system 好了,可以把system目录拷贝到别的路径下备份一给,防止这些修改发生别的问题。然后把wayne@wayne:~/android-src/out/target/

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档