自己制作安卓ROM包教程


2023年12月19日发(作者:replace函数)

ROM包的制作教程

制作方法

一、ROOT

目前的民间ROM 基本上已经自带ROOT 所以省略此步骤 当然前提得是ROOT过的

二、工具准备

下载安装附件中的er管理器()这个工具的作用是备份APK文件、删除APK文件、查看系统目录里面都有什么

下载附件中的AndroidResEdit_解压到电脑里(如果不能运行则说明你需要安装.NET Framework 2.0)我们主要用这个来对定制包签名

三、定制包制作知识

一般定制ROM(不是美化、也不是制作MOD)其实就是对手机内存里的system/app文件夹的内容进行自定义,自己安装的软件将不会出现在这里,而是data文件夹中。

系统所有的程序都在这个文件夹里,比如浏览器、拨号器、联系人等

先来看一下通常情况下这个文件夹里都包含什么:

闹钟

浏览器

Bug报告

计算器

日历

日历提供

照相机

亚马逊音乐

联系人

下载提供

DRM数字版权提供

客户端

测试程序

GoogleData提供

Gmail

Gmail提供

谷歌程序包

搜索工具

GTalk服务

HTML查看器

即使通讯组件包含MSN、yahoo通

启动加载器

电子地图

多媒体播放提供

短信、彩信

音乐播放器

T-Mobile MyFaves程序

apk安装程序

电话拨号器

系统设置

设置提供

设置向导

录音工具

街景地图

同步程序

语音程序

电话提供

更新程序

制造商信息

语音拨号器

Youtube视频

然后是定制包的结构,定制包的命名一般是XXXX(英文)

.zip内容包括

/system/app/(你想要放进系统中的程序)

/META-INF/com/google/update-script(定制包脚本)

/META-INF/(签名文件)

/META-INF/(签名文件)

/META-INF/(签名文件)

(附件中的为范例,大家可以下载直接进行修改)

首先应将准备好的程序放进这个ZIP包的/system/app目录里,只要将程序拖进附件中的APP目录即可

然后删除/META-INF/和META-INF/这两个文件,为了签名做准备

下面我们的来看最后一处需要编辑的地方——脚本

四、脚本:

现在我们对里面的文件有了大致的了解,那么举例说明,如果我们要做一个基于以上ROM的定制包,那么大概要进行两种操作

1.添加目录里的APK程序到ROM的system/app里

2.从ROM里删除APK程序(即瘦身)

3.显示进程

添加目录的语句为copy_dir PACKAGE:定制包路径 手机内存路径

删除程序的语句为delete 手机内存路径

显示进程语句为show_progress

脚本文件可用TXT、记事本等程序作为打开方式并编辑保存

作为初学者

只需要掌握以下范例即可

show_progress 0.1 0

delete SYSTEM:app/

delete SYSTEM:app/

copy_dir PACKAGE:system SYSTEM:

show_progress 0.1 10

其中对前后两个show_progress语句不需要理解,看中间的,

第一句是删除system/spp文件夹内的文件,

第二句是删除system/spp文件夹内的文件,

第三句是复制(同时会覆盖已存在的文件)定制包中的system文件夹到手机内存的system文件夹。

需要注意的是不是所有的系统文件都可以替换、删除,一般来说

这些休闲娱乐类的东西可以删除,像MMS、PHONE等重要的程序通常情况下替换或者删除会出问题

掌握了这个就可以轻松地写一般的脚本了,一定要注意,脚本的最后一行下面必须有个空行,即只有一个回车存在的空行(不理解的看看附件中里的脚本)

脚本也制作完成后,即可进行下一步:签名

五、签名

现在我们已经有了一个文件,里面的/META-INF/和META-INF/已经被我们删掉,并且向APP文件夹里添加了文件

现在该对它签名了

我们这步的意义是让定知道了解它里面装的都是什么,相当于对里面的程序进行一次点名,不然使用时会出错

先将我们的重命名为

解压附件中的AndroidResEdit_By_hanhualangzi_v_

运行AndroidResEdit_By_hanhualangzi_v_(如果不能运行则说明你需要安装.NET

Framework 2.0)

然后单击工具栏里的“签名(S)”

然后单击“签名APK文件(A)”

按选择按钮

到并选择,点击打开

按下“立即签名”按钮

点保存~

稍等一会儿,里面的东西越多,ZIP包越大,等的时间越长

提示你签名成功后在你所保存的目录下就会出现

我们将其重命名为,这是里面就又有了/META-INF/和META-INF/两个文件,并且和原来的不同,这是属于你这个定制包的签名文件

将它放进SD卡的根目录里

六、安装

提醒一下!如果对自己做的定制包不是非常有信心,而且不想重新刷机,一定要备份ROM!

安装定制包方法:

进入recovery模式),用方向键选择apply any zip from sd,然后选择,按OK键,然后会有提示让你按小房子键,按下小房子键即可。

全部运行完毕后,返回选择第一项reboot重启。

进入系统之后,如果成功的话,发现你在脚本中想删掉的程序已经不再菜单里了,而添加进system/app的程序出现在菜单里,这样一套基本的制作定制包的过程就结束了。

你已经可以制作各种定制包以备刷机后使用~

七、新手进阶

如果已经对制作定制包熟悉了的话

那么只要稍微动些脑子就可以做一些替换系统字体、修复联系人BUG等定制包~

提醒一下字体文件在system/font里,中文字体的文件名为

替换字体即是只要将字体文件命名为放入system/font文件夹里,用复制SYSTEM的语句正常刷进去即可

修复联系人BUG只需将联系人补丁内除了META-INF文件夹及其内的东西,都复制到你的定制包里,然后将脚本中除了show_progress命令之外,添加进你的定制包的脚本中~即可~简单吧~

八、答疑区

1.能不能直接用er管理器 删除掉系统自带的无用软件啊? 这样做可以吗?

可以,方法是root后打开管理器,进入手机system/app目录点击上面的挂载(mount)读/写(RW)按钮,之后就可以对此文件夹的文件进行修改或者删除了

(祝君删的愉快、删的安全、、、、)

2.签名后文件大小为0KB

签名的程序或定制包内包含中文命名的文件,重命名为英文的即可

纯手工版ROM 定制

工欲善其事必先利其器!! 所以准备工作必不可少,制作ROM所需要的软件和相关文件必须准备齐全了才能开始。

先附上所要需要用到的软件和文件:

JKD6: ... 6-p-12_sep_

解压工具unyaffs:

签名工具Auto-sign:

ROM中的META-INF文件:

(适合制作有data/app文件的ROM)

root用的su和Superuser文件:

将电源键替换为搜索键的legend-keypad文件:

过滤广告的hosts文件:

第一步:安装JKD6并设置变量环境(这一步很重要)

点击安装下载的jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_文件,安装目录就不要更改了,默认的就行了(这个应该简单的);

安装完成后开始设置环境变量了,这里就要仔细了。右键单击“我的电脑(xp系统)”或“计算机(vista或windows7系统)”,选择“属性”,然后在弹出的窗口点击“系统高级设置”(划横线部分仅适合vista或windows7系统,xp系统无此步骤),然后点击“高级”,再点击“环境变量”,见下图:

然后在下面的“环境变量”中新建变量:

变量名:JAVA_HOME

变量值:C:Program FilesJavajdk1.6.0_10

提醒一下,64位系统变量值为:C:Program Files (x86)Javajdk1.6.0_10 也就是说变量值就是你所安装的JKD6的安装目录下jdk1.6.0_10文件夹的路径。

然后点击确定。

再新建一个变量:

变量名:CLASSPATH

变量值:C:Program FilesJavajdk1.6.0_;C:Program

FilesJavajdk1.6.0_;. 注意最后面有个小点,别忘了。

同上,64位系统变量值为:C:Program Files (x86)Javajdk1.6.0_;C:Program Files

(x86)Javajdk1.6.0_;.

然后点击确定。

再到Path变量,点击编辑,在它的变量值最后面加上;C:Program FilesJavajdk1.6.0_10bin

注意前面有个分号

同上,64位系统在后面加上的应该是: ;C:Program Files (x86)Javajdk1.6.0_10bin

然后点击确定

全部完成后点击两次确定,就OK了。

然后你运行cmd回车后看看再输入javac,出来一堆java命令就表示配置成功了。

第二部:提取官方ROM,解压文件

接着前面下载的解压,并把解压后的unyaffs文件夹移动到电脑D盘根目录下,再把上面提取的官方原版ROM解压,将得到的复制到D盘unyaffs文件夹内。

然后运行cmd,输入D: 回车;再输入cd unyaffs 回车;再接着输入unyaffs 回车,就开始解压了,完毕后会提示按任意键退出。

创建system文件夹,将解压出来的文件(unyaffs文件夹内除了、 、以外的文件)全部放到里面system文件夹里面。

第三部:制作ROM并签名

新建一个文件夹,把上面的system文件夹移到里面,把前面下载的META-INF文件也解压到这个文件夹内,把从官方原版ROM中解压出来的也放到这个文件夹内,如图:

接着你就可以开始大展身手,根据自己需要删除system/app文件夹内用不到的程序了,要注意如果程序有.odex文件的还要把它也一起删掉。

另外,

如果你想用搜索键替换电源键,你可以把前面下载的legend-keypad文件解压替换掉systemusrkeylayout中的文件

如果你想ROM能屏蔽掉广告,可以用前面下载的hosts文件解压替换掉systemetc中的文件

如果你想取消掉开机铃声,你可以删掉D:Mobileupdatesystemmediabootscreen中的3

如果你想获取ROOT权限,可以将前面下载的ROOT文件解压,把su文件放到systemxbin文件夹内,把放到systemapp文件夹内

精简完毕后,全选META-INF、system文件夹和文件,右键,选择“添加到压缩文件(A)...”,压缩文件名为,格式选择zip格式,具体见下图:

生成文件后,就可以签名了

将前面下载的签名工具Auto-sign解压到D盘,然后把刚才生成的复制到Auto-sign

文件夹内,双击,就开始签名了,此时会在Auto-sign文件夹内生成一个update_的文件,它就是我们制作成功的ROM了。

完毕!!!

本人备查备忘录

并非Android系统的编译教程,可做为有兴趣学习Android系统的参考,亦方便本人备查备忘。如对Android系统编译有兴趣可以看一下,没有耐心的,可以飘过

Linux,得益于它的Open & Free(不要单纯的理解成开门与免费哈:),开放与自由的精神让Linux不断的发展壮大,也是它的魅力与核心精神所在

【Linux 内核】

如果要了解Android,需要先了解一下Linux。我们常说的 Linux 严格意义上讲,不是一个完整的操作系统,它只是一个操作系统的核心。基于Linux内核,目前已派生出数百个“发行版”的操作系统。

【Linux 发行版本】

目前基于Linux 内核的发行版本(操作系统)知名和不知名的约有数百个,点击这里是一个Linux发行版树型结构的时间线,可以看到详细的Linux发行版的历程。其中主要有

Slackware、Redhat、Debian等几大分支。这些发行版又分别派生出子系、孙系的发行版。举例来说,目前如日中天的 Ubuntu 源系Debian的派生的版本,后来不断发展壮大,在其旗下又派生出Kubuntu/Lubuntu/Mythbuntu/Edubuntu等等,其支系目前最为繁盛,并有不断壮大的趋势。

【关于Android】

Android系统也是基于Linux核心的一个分支,属于一个独立的支系,仍然遵守并继续

Linux GPL 源码开放的守则。基于Android系统的应用及底层驱动则同时拥有 Apache

License,Version2.0的版权规则,底层的驱动部分可以闭源。 因此,我们在编译和移植Android系统的时候,需要提取原厂ROM中的相关设备驱动的库文件。

【Android ROM】

Android另外吸引人之处在于它的灵活性、易用性、可定制性及可玩性。目前国内外的

Androd 论坛大多异常火爆。定制ROM、自制ROM教程、帖子铺天盖地,随处可见。一般没有Linux应用基础的借助定制工具都可以制作出漂亮且个性化的ROM。在原有ROM基础上反编译、修改定制ROM的方法简单、实用、方便,基本可以满足修改美化化的需要。本文的内容主要不在定制、修改ROM。如果有需要,可以查询安智、隔壁的等论坛。

【dsixda's Android Kitchen】

是国外的一位超级大神制作的ROM修改及定制工具,非常方便、实用,使定制修改ROM更加轻松容易。安智网的大星星等为国人做了版,在此也致以崇高的敬意。

【编译Android ROM】

再一次感谢Open & Free。Android系统的源码是完全开放的,你可以很方便的随时获取Android源码,而且是免费的。基于Android源码,你可以将其移植到手机、GPS导航定位设备、平板电脑、上网本等移动设备上。通过编译Android源码,可以更深入的了解操作系统的核心及操作系统的原理,对于从事移动设备开发的工程师更具有挑战性。如果你精通Android系统开发,也可以让你到收入可观的一份职位。当然,你也可以将自己定制的系统商业化获取高额的利润,这于GPL守则是合法的。

【编译环境】

因Android原生于Linux,因此,其编译环境也是基于Linux环境的。网上基于Android源码的编译教程指引多是基于 Ubuntu 的,本小白没有亲测(前文说了,本小白对Ubuntu不感冒)。本人分别在CentOS 5.5 独立主机、WinXP + VMWare + CentOS 6.0 虚拟机及

Redhat Fedora 14 独立主机环境下分别搭建环境且均编译 system + kernel 成功通过。编译过程和修改编译配置并不复杂,对于大多数没有Linux基础的tx来说,搭建消编译可能是一个非常蛋疼的过程,一般都是由于无法搭建编译环境而最终放弃尝试。网上关于搭建编译环境的教程指引非常多,本文不再赘述(要补充一点的是包括CyanogenMod wiki在内的搭建环境的教程一般都不够完整,若没有Linux基础,很难成功)。因此如有致于做一个 Android

开发工程师,要先补补 Linux 这门课。

【CM 源码仓库】

是国外的一个Android开发小组基于官方Android源码移植的有数十种机型支持的一个源码仓库,亦可免费获取。目前国内外很多Android大神都是基于这个源码仓库编译Android源码的。每个机型一般有多位工程师维护的几个分支(branch)。

【Android system + kernel】

基于CM 源码仓库的Android系统的编译分为两个部分,分别是system 和 kernel 。源码仓库中所有机型源码的系统(system)源码部分,已经植入了CM小组各机型维护工程师编译好的 kernel,一般无需再编译 kernel(内核)。但原有的kernel不一定能够满足所有机型用户的需要,在CM没有及时更新kernel的情况,你自己可以根据CM kernel 源码重新编译 kernel 并将其植入到system源码中,并编译成最终的ROM。内核源码的配置参数、选项十分复杂,有数千个选项之多,要求对系统核心、硬件驱动有较深入的了解了熟悉,若没有深入研究和了解,请勿随意变更kernel编译参数。一般每个机型都有默认的参数配置,如需要更高级的参数配置则可以使用 make menuconfig 获取。(详细指引略)

【系统美化及修改】

与一般的定制ROM稍不同,各机型的编译配置(.mk 文件)、界面参数(.xml文件),c及java程序等都是源码的。需要对系统结构有一定的了解,如果有定制ROM基础,应该会比较方便。 一旦完成界面的个性化定制和修改后,后续的升级更新就会变得轻松和简单(本人没有做过ROM定制和美化,还需要向各位ROM大师学习补课)。(本小白也不会承诺今后会发布我自己编译的ROM,因为我做的界面美化等方面的工作不会比其他ROM大师更好,本人编译系统暂时只为测试和自己学习)

【Android系统移植】

CM源码库中目前已经包含数十种手机及平板电脑的机型支持,而且这个数字还在不断增加中,其中包括国内的部分机型。

待深入研究和了解Android源码系统后,就可以考虑移植和定制专用系统的工作。


本文发布于:2024-09-23 15:29:53,感谢您对本站的认可!

本文链接:https://www.17tex.com/fanyi/16001.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:定制   文件   系统   文件夹   编译   源码   需要
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议