第三方rom编译
A. 手机刷ROM什么意思 第三方ROM什么意思
刷ROM就是换系统,root就是最高权限,刷ROM是指通过一定的方法更改或替换了手机原版系统中固有的一些语言、图片、铃声和软件版本或者操作系统,可以使手机功能更加完善,类似于电脑中的重装系统。第三方ROM就是一些使用爱好者自己经过移植和修改做的手机系统。
刷ROM都带有一定的风险,首先肯定的是,正常的刷ROM操作是不会损坏手机硬件的。特别说明一下,一般刷ROM后就不保修了,所以要保修还是要刷机就要看个人权衡了。
ROM是由英文Read only Memory的首字母构成的,意为只读存储器。顾名思义,就是这样的存储器只能读,不能像RAM一样可以随时读和写。
它只允许在生产出来之后有一次写的机会,数据一旦写入则不可更改。它另外一个特点是存储器掉电后里面的数据不丢失,可以存放成百上千年。手机ROM指的是存放手机固件代码的存储器(常说的刷机也就是指的是重新构建自己想要的ROM),比如手机的操作系统、一些应用程序如游戏等。
(1)第三方rom编译扩展阅读:
ram和rom都是存储技术,只不过是原理不同,所以作用也不相同。
1、ram是随机存储,可以随机读写,关机或者重启数据不会保存;而rom是手机的存储容量,即只读内存,能存储各个软件和用户文件,关机或者重启不会对数据产生什么影响。
2、ram是支撑手机软件运行的重要因素,它的大小会影响手机的运行速度;而rom是让用户存储文件的,对手机运行速度的影响微乎其微,基本没有影响。
3、ram作为随机存储技术,运行速度比rom要快很多。
4、我们在手机里存各种软件、图片、音频和视频都是存在rom容量里面的,不会影响到ram容量。
5、ram容量一般都比较小,现在手机大多都是3GB、4GB、6GB。而rom的容量最开始有8GB、16GB,但是随着人们的使用需求量越来越大,现在手机的rom容量即手机内存大多都是32GB起步了,64GB的也不少,还有一些超大容量的128GB和256GB等。
不少人对于容量需求比较大的还会使用SD卡,SD卡就是我们常说的内存卡,放在手机里增加的是rom容量,所以rom容量还能增加,不过现在很多手机本来的rom容量就比较大,所以不支持SD卡容量扩展。
B. Android 的第三方厂商定制 ROM 是怎样适配底层的
其实底层也就是安卓,需要从谷歌那里拿到源代码才能适配,但是升级底层安卓版本时,不单单需要谷歌源代码,CPU厂商的源代码也是关键
C. 怎么学习制作rom啊!求教程
如何制作ROM
有点玩机兴趣的android爱好者,应该对custom ROM这种东西都不陌生。我介绍root权限获取的时候,就直接用的MoDaCo Custom ROM作为例子。适用于Hero比较好的ROM还有不少,比如Drizzy’s Custom Hero ROM等等,都可以在XDA上找到。肯定有不少朋友感到很好奇,这些ROM都是怎么做的。考虑到中文社区相关资料比较少,在这里抛砖引玉,大概原理介绍一下。
对于第三方ROM来讲,通常都包括两部分,一个recovery image,一个update.zip。而大多数的第三方ROM的特色,就是加入了很多东西,比如superuser程序来获得root权限,busybox来扩充命令行下的功能,各种各样的配置文件或者小工具,比如默认打开中文locale,等等。这些看似神奇的改动,都是在 update.zip里面搞的,custom recovery image的主要作用就是引导用户的操作,比如让你先备份,再应用update.zip,再重启之类的操作。由于custom recovery image和update.zip的耦合性很小,所以不少custom ROM直接都用同一个custom recovery image,这个好像是出自MoDaCo作者之手。再然后,我之前的文章已经有对 recovery image的简单讲解,所以这里,我主要介绍一下update.zip的制作。
如果我们直接把MoDaCo ROM中的update.zip解包,我们会发现有一个boot.img,一个data文件夹,一个system文件夹,一个META-INF文件夹。这个data文件夹放的是init.rc,而本来在系统中,init.rc就是在data目录下的。当然,两者的作用不一样,这里的init.rc主要作用是开机执行你希望执行的命令,比如MoDaCo的init.rc就是install busybox。
而值得详细说明的,就是system文件夹。MoDaCo ROM版本的system下有一系列作者希望放到系统中的工具,对于apk文件,就放到app下,工具就放到bin和xbin下,依此类推。换句话说,system或者data这个目录层次结构是取决于你自己的,你希望放的东西属于什么,应该运行在online系统的什么目录下,update.zip里面就应该是有相应的目录路径,然后东西就放在里面。
具体点,我们现在要依样画葫芦,搞一个新的update.zip,那么第一步就是首先建立一个文件夹
mkdir new-update
好,假设我新update.zip的作用就是预装我自己的一个程序,my.apk,那么,我建立对应的子目录
mkdir -p new-update/system/app
cp my.apk
这样,system目录就完成了。但是这时,update.zip的目录层次还没完,我们看MoDaCo ROM中的update.zip中有文件夹叫META-INF,这个文件夹很关键,除了根目录下的三个文件外,里面层层目录,就包括了一个文件,叫 update-script,内容如下
show_progress 0.1 0
_dir PACKAGE:system SYSTEM:
set_perm_recursive 0 0 0755 0644 SYSTEM:xbin
set_perm_recursive 0 0 0755 0644 SYSTEM:sd
set_perm 0 0 04755 SYSTEM:bin/su
set_perm 0 0 04755 SYSTEM:bin/a2sd
set_perm 0 0 04755 SYSTEM:xbin/busybox
_dir PACKAGE:data DATA
show_progress 0.2 0
format BOOT:
write_raw_image PACKAGE:boot.img BOOT:
show_progress 0.2 100
这里面的内容,大部分是针对你要做的修改设置的。比如
_dir PACKAGE:system SYSTEM:
就是把system中新增的工具拷贝到手机上,然后
set_perm_recursive 0 0 0755 0644 SYSTEM:xbin
set_perm_recursive 0 0 0755 0644 SYSTEM:sd
set_perm 0 0 04755 SYSTEM:bin/su
set_perm 0 0 04755 SYSTEM:bin/a2sd
set_perm 0 0 04755 SYSTEM:xbin/busybox
就是设置MoDaCo ROM中新增程序的权限,然后
_dir PACKAGE:data DATA:
把data下的内容(就是那个init.rc)复制到手机上,然后
format BOOT:
write_raw_image PACKAGE:boot.img BOOT:
刷boot分区。
那我们这里没有这么多新增的东西,应该怎么写呢?
_dir PACKAGE:system SYSTEM:
set_perm_recursive 0 0 04755 SYSTEM:app/my.apk
就可以了。你当然还可以做一些别的事情,比如加一个FORMAT DATA之类的^_^开个玩笑,千万别这个干,不然你的数据就全没了。
好,那么也就是说,我们要在自己的new-update目录下也建一个/META-INF/com/google/目录,然后把新的update-script扔进去。
完了么?差一点。其实如果你没有别的需求了,那么就完了,可以把下面这一小块跳过。下面这一小块,是关于boot.img的。在如何修改Android系统的Ramdisk以及boot镜像文章中,我们谈到,如果刷boot镜像有问题,就要用别的方法让系统boot我们自己的boot image了,这个别的方法,自然就是用update.zip了。MoDaCo ROM版本的update.zip也包括了一个boot.img,但是如果我们有出于各种需求自己修改的boot.img,自然就可以替换掉原来的了。当然注意,如果加了boot.img,那么update-script里面就不能漏掉
write_raw_image PACKAGE:boot.img BOOT:
这句。
好,到现在,我们的new-update目录下有
/system/app/my.apk
/META-INF/com/google/update-script
/META-INF/MANIFEST.MF
/META-INF/CERT.SF
/META-INF/CERT.RSA
boot.img
恩,那么就进入打包阶段。你可能会问,这有什么难的,直接zip一下不就得了。如果要是这么简单就好了,你打包后,必须把你的内容都sign一下,得到相应的cert,才能在fastboot模式中被承认并成功刷机。
在sign你的文件之前,先做这么几件事
打包。进入update文件夹,zip update.zip xxx xxxx xxxx xxxx xxxx。什么意思呢,就是只把你需要的文件打包,不要用./*作为参数。而且相对路径最好是在update下面,不要在外面用zip update.zip ./update/*这种命令打包
去sun网站下载最新的
下载这个文件testsign一定要用JRE1.6.0.16或者更高,我知道这个有点恶心,但是提供下载的testsigh.jar就是按照这个版本或者更高编译的,你用老版本就运行不了。
好,下下来以后,执行这个命令
~/jre1.6.0_16/bin/java -classpath testsign_path/testsign.jar testsign update.zip update-signed.zip
稍微讲解一下,java程序是最新jre下的,testsign_path是你放testsign.jar的地方,建议放到sdk的tool目录下。update是待sign文件,update-signed是指定的生成文件名。
sign执行完后,用unzip -l看,会发现
/META-INF/MANIFEST.MF
/META-INF/CERT.SF
/META-INF/CERT.RSA
D. CM9的CM9.0
CM9也是CyanogenMod 9.0的简称。
CM:CyanogenMod,是一个免费的、团队协作发布的Android 第三方编译ROM的简称。
CM5是Android 2.1的ROM
CM6是Android 2.2的ROM
CM7是Android 2.3的ROM
CM8是Android3.0的ROM
CM9是Android 4.0的ROM
CyanogenMod是一个基于开源Android系统,供某些手机使用的二级市场固件。它提供一些在官方Android系统或手机厂商没有提供的功能 ,例如:支持Free Lossless Audio Codec - FLAC (无损音频压缩编码)音频格式的音乐,多点触控, 从SD外置存储器运行程序,压缩缓存,大量APN的名单,重新启动功能,Wi-Fi无线网络支持,蓝牙,USB网络分享等。CyanogenMod也是第一个使用BFS作任务管理器的操作系统。
CyanogenMod声称提供比官方固件版本更高性能和更可靠。
2008年9月HTC Dream电话发布后, 一种由Android社区发现其中一个可以在Android的linux的子系统得到特权控制 rooting(也称为 root access)的方法. 这个发现, 结合了Android开源的性质, 让手机的固件可以随意进行修改和重新安装到手机。某些手机并不需要进行修改, 如Android开发手机和Nexus One, 这些用作开发用途的手机上。
现时,CyanogenMod固件是基于Android 2.2,也有大量由CyanogenMod的代码被加入了。CyanogenMod的自定部分本来是由Cyanogen (Steve Kondik)编写,不过加入了由xda-developers社区编写的代码(如已强化的主画面, 已强化的调用程序和已强化的网页浏览器)和其他的程序(如busybox)。
一个叫CyanogenMod Updater的程序提醒CyanogenMod用户有新版本的CyanogenMod及安装到他们的电话。用户可以在Android Market下载该程序。
Cyanogen团队是目前全球最大的Android第三方编译团队,由于该团队曾先于google公司为很多手机 率先定制出稳定的1.6ROM而名声大噪。CM的ROM以开源、开放、稳定着称,仍有许多刷机发烧友使用其第三方定制ROM。 CyanogenMod
版本 Android版本 发行日期 3.1 Android 1.5 (Cupcake) 2009 3.2 2009 3.3.x 2009 3.4.x 2009 3.5.x 2009 3.6.x 2009 3.9.x 2009 4.0.x Android 1.6 (Donut) 2009 4.1.x 2009 4.2.x 2009 5.0.0 Android 2.0 / 2.1 2010-02-14 5.0.1 2010 5.0.2 2010 5.0.3.x 2010 5.0.4.x 2010-02-27 5.0.5.x 2010-03-19 5.0.6 2010-04-16 5.0.7 2010-05-25 5.0.8 2010-07-19 6.0.x Android 2.2 (Froyo) 2010-08-28 6.1.x 2010-12-06 7.1 Android 2.3.7 2011-10-11 9.0 Android 4.0 2012-03-27
E. ROM制作工具如何制作手机刷机包
具体步骤如下:
F. 如何将制作第三方rom
修改替换二进制文件,已达到某种效果和功能。(大部分ROM)需要的知识:
只要熟悉每个模块都是干什么的,有什么优点和缺点,就想搭积木一样,替换到原来的ROM中去,然后再把ROM打包就行了。这种需要的基础知识就是:
1.要知道想要什么效果,什么手机或者软件上现成就有。
2.把想要的从手机中抽离出来,放到ROM中,当然首先要解包ROM。其中需要注意linux的权限问题,依赖问题,这里面内涵的东西不是一朝一夕的,也没有那么系统的学习材料。
3.需要打包ROM,其实打包这个地方每个手机都不太一样,所以需要学习。
G. 第三方rom什么意思
手机的rom 相当于电脑的操作系统。第三方的rom,和你手机中现在的rom是完全一样的。你手机的电话、短信、音乐、视频等等功能都是包含在rom 中的。你将rom 刷如手机中才能拥有这些功能。
第三方的rom就是和你现在的rom 可能有少许的差异。
是平行的关系,互不相干。你手机中有官方rom便不能同时使用第三方。如果你刷了第三方的rom,现在的rom就不在了。
和电脑的操作系统一样!
H. 想学习安卓系统开发(安卓源码编译和第三方rom适配等等)去哪学比较好
建议去电脑学校学习
I. 怎么刷第三方rom
一、刷入ROM需要满足以下两个条件:
1.手机已经进入HBOOT中S-OFF(解锁);
2.手机已刷入第三方recovery。
二、刷机方法及步骤如下:
第一步,先对手机的HBOOT进行解锁(已解锁的可跳过);
第二步,刷入recovery系统,或者说是进行recovery的升级(已刷入recovery的可跳过)
第三步,刷入ROM包:
1.首先将下载好的ROM包放入SD卡根目录,并将ROM包更名为undate.zip;
2.手机完全关机状态下同时按住手机【音量减】和【电源】键约10秒进入HBOOT界面,【音量+】【音量-】为上下选择键,【电源键】为确定键;
3.进入recovery界面选择【wipe data/factory reset】和【wipe sd-ext】。这一步主要是清除数据和缓存,以免造成数据的混乱。养成个好习惯,刷机前记得双wipe。
4.安装新的ROM包。回到recovery界面选择【install zip from SDcard】,然后找到刚刚更名为update.zip的文件,按提示选择yes便OK了,当屏幕上出现install from sdcard complete时便表示已经刷机成功;
5.返回选择Reboot the system now手机便重启了。第一次开机比较慢,所以请耐心等待。
J. 如何制作刷机包可不可以从手机中导出rom进行修改,编译为刷机包
你可以借助第三方工具进行修改,像用蘑菇rom助手
什么的,都比较简单,你在网上找找视频