当前位置:首页 > 游戏 > 正文内容

安卓系统rom制作、修改方法教程(今日安卓rom定制教程)

2021-07-30 15:59:14游戏711

大家好,今天就和小熊一起来看看这个问题吧 。安卓rom定制教程,安卓系统rom制作、修改方法教程很多人还不知道,现在让我们一起来看看吧!

1、在此先要明确声明一下:依照此做法出现您的手机出现任何问题,概不负责的喔!!英文好的朋友,可以直接看英文官方的参考网站即可:只用android源代码做一些简单实验的朋友可以参考下面这几个网站:说起android刷机包,听起来非常神秘,实际上它仅仅是一个经过数字签名的zip压缩包而已。

安卓系统rom制作、修改方法教程(今日安卓rom定制教程)

2、如果要自己制作刷机包,则必须了解刷机包的基本工作原理,偶首先从android系统的启动说起:android系统启动的时候,首先会进行一些诸如硬件自检之类的操作,这些操作完成以后(至少它应该知道当前的机器有没有电),会检查一下当前手机按键的状态(接下来就是所谓刷机模式切换了,不同的android手机有不同的按键组合用来进入刷机模式),如果此时按键状态处于刷机组合,那么系统会调用ROM里面的一个叫做recovery的程序(这时就是进入了所谓的刷机程序了,它只是一个工具性质程序,用于检查刷机包的完整性和数字签名的合法性。

3、对于目前大多数root过的机器而言,数字签名的合法性都不会成问题,然后由recovery程序将刷机包进行解压,然后把刷机包里面的文件写入到ROM中去,以此完成刷机过程);如果此时按键没有标明是刷机模式,那么系统会创建内存盘,开始从ROM里面载入相应的文件系统,并把相关的文件拷贝到内存盘中,进而引导linux启动,然后是启动虚拟机dalvik,然后就是创建工作进程载入和运行framework,然后就会看到待机的画面。

4、当然在这个过程中还发生了许多事情,启动了许多服务,为了简化起见,对于启动过程偶只讲解到此,感兴趣的朋友可以自己结合着linux的启动过程加以对比来学习。

5、现在来总结一下,实际上刷机包就是一个ROM文件的压缩包,进入刷机模式后,recovery程序会把刷机包里面的文件写入ROM存储区替换ROM存储区的原有文件;当下次启动手机的时候,会从ROM中载入刚刚替换过的文件,并利用这些文件来启动和运行系统。

6、这就是刷机包的全部功能和作用,看不懂的朋友可以反复看几次,刷机的本质就是文件的覆盖和替换操作,偶相信各位一定能看懂!OK,现在大家已经知道ROM文件的zip压缩包就是所谓的刷机包。

7、制作刷机包的过程就是准备这些文件,然后重新把这些文件压缩成一个zip包的过程,在制作的最后,使用签名工具签个名,就可以测试和发布刷机包了。

8、虽然说起来就是一句话的事情,但是实际上准备这些文件的过程是非常痛苦和漫长的。

9、那么update.zip压缩包里面的都包含哪些文件?这些文件又都是如何做出来的呢?hoho,现在开始渐渐接触到问题的本质了,解压缩这个update.zip压缩包以后我们可以看到两个目录和一个文件:boot.img   <---文件,这是编译内核源代码生成的内核映像,然后与android源码编译出来的ramdisk.img一起通过mkbootimg工具创建出来的,图省事的朋友也可以从网上其他的刷机包里面拷贝一个能用的出来即可,基本上都差不多。

10、META-INF   <---目录,这个目录是手工创建的,主要用来存放一个升级脚本update-script(这个脚本的内容与system目录中包含的文件有很大关联)以及保存若干刷机包内的apk文件的签名。

11、system   <---目录,这个目录就是编译android的平台源代码生成的,其实最好的学习方式就是把现在互联网上的那些update.zip包给解包,然后自己一个一个文件地看和分析,然后修改,尝试做自己的刷机包。

12、对于这个boot.img,基本思路是编译android kernel代码,生成内核image然后利用mkbootimg感兴趣的朋友可以参考下面这两个wiki网站:下面的做法偶都是在linux下面完成的(slackware 13.1):(1)下载和编译android的源代码,具体过程不再赘述如果各位还不知道repo sync之类的命令的话,可以参考网上的关于下载android源代码以及编译的文章,据偶所知这些文章非常丰富。

13、编译之前一定要注意平台的选择,不同平台的驱动程序是不一样的!这些参数可以通过:$ cd android-src    <---进入android的源代码目录$ . build/envsetup.sh <---设置环境变量,运行完毕后,你可以输入一下help命令,看看google的团队提供了多少有用的便利命令,这对于我们以后修改代码重新编译非常有帮助。

14、$ lunch generic-eng   <---开始配置android的源代码的编译选项运行上述命令后会看到如下输出:wayne@wayne:~/android-src$ lunch generic-eng============================================PLATFORM_VERSION_CODENAME=RELPLATFORM_VERSION=2.1-update1TARGET_PRODUCT=genericTARGET_BUILD_VARIANT=engTARGET_SIMULATOR=falseTARGET_BUILD_TYPE=releaseTARGET_ARCH=armHOST_ARCH=x86HOST_OS=linuxHOST_BUILD_TYPE=releaseBUILD_ID=ECLAIR============================================$ make -j2   <---只有单核的CPU的朋友可以尝试此参数,双核的朋友可以试试-j3,否则就老老实实运行make即可。

15、然后就是一个漫长的等待,这个时间大概有1-2小时左右(偶的机器比较慢),完全编译完毕以后硬盘的占用大概需要8个G左右。

16、(2)编译完成以后,进入wayne@wayne:~/android-src/out/target/product/generic目录,应该会看到如下的文件:android-info.txtdataobjramdisk.imgsdksystemuserdata.imgclean_steps.mkinstalled-files.txtprevious_build_config.mkrootsymbolssystem.img这里的system.img是不是很眼熟?!对拉,这个就是刷机包里面好像也有一个叫做什么system的目录,那么这个system.img里面都有什么呢?这里面的东西其实就是当前目录下的一个叫做system的目录里面的内容了,只是保存成了yaffs文件系统的格式。

17、我们可以通过unyaffs工具来把system.img给解开来看看,就明白偶说话了。

18、unyaffs的代码下载地址为:在linux下编译方法非常地简单,只需要下载源代码,然后运行:$ gcc -c unyaffs.c$ gcc -o unyaffs unyaffs.o即可生成这个unyaffs的解包工具,利用这个工具就可以把自己生成的system.img进行解包,然后修改里面的内容了。

19、unyaffs使用方法非常简单:$ unyaffs system.img [回车]即可将system.img解包成一个叫做system的目录,里面包含了整个android的文件系统(3)刚刚开始,不适合一切从头来,还是老实一些,先从修改别的大牛们做得刷机包开始吧首先拷贝一个从网上下载下来的刷机包,然后找一个目录解压缩(当然,这是最保险的做法,自己做这些目录也没有任何问题,只是比较费时间而已)$ unzip xxxxxx.zip   <--- 这个xxxxx.zip就是从网上下载的某刷机包(一定要跟你的代码版本基本一致喔,偶在这里用的是2.1的刷机包)(4)替换原有的system目录解压缩刷机包以后,会看到在开篇的时候提到的两个目录,一个文件:boot.imgMETA-INFsystem好了,可以把system目录拷贝到别的路径下备份一给,防止这些修改发生别的问题。

20、然后把wayne@wayne:~/android-src/out/target/product/generic这个目录下面的system拷贝到当前的工作目录下。

21、注意,这个system目录里面有很多“符号链接”指向了toolbox。

22、这些链接其实没啥用,可以通过后面的update-script自动进行创建的,因此,需要用一个脚本把这些链接都删掉。

23、可以参考:这个网页附件给出来的DeleteExtras.txt改写成一个DeleteExtras.sh脚本来清除这些符号链接。

24、(5)修改update-script脚本修改META-INF/com/google/android目录下的那个叫做update-script的脚本,只要修改一下即可,主要是删除一些不存在的文件以及增加一些文件的权限之类的定义(语法十分清晰,一目了然)。

25、把需要“预装”到刷机包里面的apk安装程序都准备好,将这些apk拷贝到system/app目录下即可。

26、那个boot.img能不改就不改,因为这东西涉及到驱动和内核的问题,出了问题刷机包就启动不了了。

这篇文章到此就结束,希望能帮助到大家。

扫描二维码推送至手机访问。

版权声明:文章内容摘自网络,如果无意之中侵犯了您的版权,请联系本站,本站将在3个工作日内删除。谢谢!

本文链接:http://xixia168.cn/n/yx/157625.html

标签: 教程今日
分享给朋友:

“安卓系统rom制作、修改方法教程(今日安卓rom定制教程)” 的相关文章

电线的小说(今日电线的小说免费阅读)

电线的小说(今日电线的小说免费阅读)

大家好,今天就和猫猫一起来看看这个问题吧 。电线的小说免费阅读,电线的小说很多人还不知道,现在让我们一起来看看吧!《落花时节又逢君》 《琉璃美人煞》 , 《仙有仙归》 , 《拈花一笑醉流景》 , 《绝色妖仙》 , 《昙梦魂牵落》 , 《青鸾》 , 《烟雨倚重楼》。这篇文章到此就结束,希望能帮助到大家...

吕洞宾三戏白牡丹(今日吕洞宾三戏白牡丹)

吕洞宾三戏白牡丹(今日吕洞宾三戏白牡丹)

大家好,今天就和小鱼一起来看看这个问题吧 。吕洞宾三戏白牡丹,吕洞宾三戏白牡丹很多人还不知道,现在让我们一起来看看吧!非常短:吕洞宾扮演白牡丹。用魔法驱使侍女告诉说,有一位诗画俱佳的院士刘,曾在一处私宅设宴款待她,偶尔也来接她。再用魔法控制,让她以为一间破旧的村屋就是官署,而农民就是刘大人。然后让白...

目不转睛的反义词(今日目不转睛的舞蹈)

目不转睛的反义词(今日目不转睛的舞蹈)

大家好,今天就和小熊一起来看看这个问题吧 。目不转睛的舞蹈,目不转睛的反义词很多人还不知道,现在让我们一起来看看吧!目不转睛[M b朱m:n jng]指眼睛一动不动地盯着。形容专注。出;金阳泉《物理论》:“子逸燃烛,熟之;保持目光固定;膝盖不要动。”反义词左右看看,左右看看。同义词不要眯眼,盯着,集...

五月十一(今日五月十一日早晨祝福语)

五月十一(今日五月十一日早晨祝福语)

大家好,今天就和蜜蜜一起来看看这个问题吧 。五月十一日早晨祝福语,五月十一很多人还不知道,现在让我们一起来看看吧!虽然是大旱,但现在是5月13号,对吧?来自黑龙江的传说:黑龙江的黑龙之母死于农历五月十三。每年的这一天,都是他去给母亲上坟的日子。他一哭就下雨,所以干旱才5月13日。已经过了5月13日,...

郑州格力空调售后(今日郑州格力空调售后服务电话)

郑州格力空调售后(今日郑州格力空调售后服务电话)

大家好,今天就和小熊一起来看看这个问题吧 。郑州格力空调售后服务电话,郑州格力空调售后很多人还不知道,现在让我们一起来看看吧!郑州格力空调售后电话3360 0371-53704315。专业格力空调郑州特约维修郑州格力空调售后维修郑州格力空调维修中心专业水平好,专业素质高,有多年维修经验。我们承诺以优...

练摊(今日练摊战士)

练摊(今日练摊战士)

大家好,今天就和可心一起来看看这个问题吧 。练摊战士,练摊很多人还不知道,现在让我们一起来看看吧!练摊也被称为“街头小贩”,即投资较少的个体商人。近年来,练摊开始流行,白领、大学生甚至一些富裕的人都开始选择练摊生活。练摊已经成为一种“时髦”的时尚。基本上,练摊是最基本的买卖行为。但是更多的人认为练摊...