很多安卓手机用户热衷于改造自己的安卓手机, 因为安卓系统的开源造就了手机系统的多样化, 很多热门手机都有着各种各样的ROM, 这些ROM包机油们也可以自行修改, 这修改方法并不会太难, 下面就一起来了解下刷机包的介绍。
ROM称为静态存储器或只读存储器。 它的特点是只读不可写, 但是计算机关闭后数据仍然保存。
安卓手机ROM如何自定义
rom的特点是只读, 也就是说你往rom里面放进去东西后里面的东西就不会改变了。 而我们手机上的操作系统就是装在rom里面的。 在这个地方就有很多人有这个疑问, 为什么rom只读不可写为什么我们还能刷机?事实上, 随着技术的发展, 现在有的rom是可以写的, 例如我们手机上的rom称为flash, 也就是我们平时说的闪存。 这里我觉得rom这个名字有点误导人, 因为rom是Read Only Memory的简称, 延续这个名字容易让人误以为不可写。
总之现在手机上的rom也是可写的, 然后厂商把rom的一部分划出来安装手机的操作系统和自带的应用, 剩下的rom留给用户自己装其它的应用或放自己的其它文件使用。 这也就可以解释为什么我们买来的手机容量一般都没有手机参数写的那么大, 例如16G的买来一看就剩下15点多。 因为有一部分被系统占用了。 而且rom中作为存放操作系统的那一部分用户是没有权限访问的, 除非通过特殊的方式, 也就是我们常说的刷机, 那这么说的话大家就明白为什么刷机也叫刷rom了吧?
rom包的结构
安卓手机ROM如何自定义
我从miui官网下了一个rom包, 解压下来后如图。
META-INF里面是一些升级脚本和ROM签名。
recovery里面是我们刷机在recovery时要用到的一些文件。
system是这个rom的具体内容。
boot.img是内核文件。
这个教程我们想要达到的目的就是修改rom, 所以我们只要看system这个文件夹就可以了。
把system打开以后如下图。
下面简单说明下这些文件夹。
app:系统自带的应用。
bin:android系统本地的一些可执行的程序。
etc:android系统配置文件。
fonts:字体样式和字体库。
framework:android系统框架。
lib:动态链接库。
media:铃声、开机动画之类的媒体文件。
usr:用户数据。
vendor:厂商信息。
xbin:系统管理用的可执行程序。
build.prop:手机信息。
修改rom
这一部分用三个例子让大家熟悉下rom包的结构和修改的方式, 然后再自己扩展。
三个例子分别是:
1.修改原始语言和时区 2.修改界面 3.删除和新增自带应用
1.修改原始语言和时区
这个非常简单, 打开system文件夹下的build.prop修改就可以了。
然后修改
ro.product.locale.language=zh
ro.product.locale.region=CN
当然如果是miui可能本来就修改好了, 但是如果是android原生的系统就是原生时间。
关于修改build.prop建议大家使用一个文本编辑器UltraEdit。 因为你用记事本打开build.prop的话是这个样子。
而如果用UltraEdit打开的话是这个样子。
安卓手机ROM如何自定义
哪个比较直观就不用我多说了, 一目了然。 所要改的那两行属性我也在上图中做了标记。
当然还有很多东西可以改, 具体还能改什么可以上网搜一下build.prop所有属性的解释。 因为这个教程只是修改几个东西当例子, 然后大家从中熟悉下修改的原理和基本操作, 大家再自行扩展。 不可能什么都改一遍写出来。 相信聪明的你举一反三的能力是有的。
2.修改界面
安卓手机ROM如何自定义
这个也很简单, 把system\framework\framework-res.apk用winRAR的方式打开, 然后解压出来, 把res\drawable-hdpi下的图片换成你自己喜欢的, 至于每个图片是干什么的你同样可以网上搜一下。 改完之后拖回去, 记住这里不是压缩后把后缀改成apk, 而是用winRAR原来的framework-res.apk, 然后把想替换的新图片拖进去替换了就行了。
3.删除和新增自带应用
删除很简单, 把system\app打开, 把你不想要的app文件删掉, 通常包括一个apk文件和odex文件。 至于哪些可删, 网上有人列出了可精减的apk列表。 自己搜下吧。
至于添加自带应用就比较复杂了, 可不是把apk文件拖进去就行了。 我原来也试过把只是简单的把apk拖进去, 但是安装以后发现, 自己添加的信应用一打开就停止运行了。 后来我发现如果把你想新增的apk文件的lib文件夹提取出来放到rom的system\lib里就可以正常运行。 这样我就有个推测, 因为一般的应用都是把自己的lib(前面在rom结构中提到lib是动态链接库)压缩在一起。 然后应用运行要用时提取自己的lib文件。 然后我发现rom的app文件夹里所有apk都没有lib文件。 那我就推测android是所有自带的app都统一去system下的lib调东西。 所以如果你想自己新增自带应用的话就要把apk文件夹的lib文件提取出来, 把里面所有的.so抽出来放到rom的lib里。 这样新增的自带应用才能正常运行。 但是自己这样添加自带应用又会出一个新问题。 我以有道笔记这个app为例。 我把它的lib解压后如图。
名称: | 刷机大师 v4.1.2.15284 官方正式版 |
链接: | http://www.arpun.com/soft/15405.html |
它里面有两个文件夹。 我们知道手机不同种类的cpu架构是不同的, 那么app就必须提供支持不同平台的so文件。 然后放在不同文件夹。 但是一般来说你文件命名肯定是相同的。 不信你可以试着把一个apk的lib文件夹下的每个文件夹看一下, 都会发现虽然大小不一样但是名字一样的文件。 而你要把这些文件都抽出来放在rom的lib里, 那么肯定会造成同名覆盖问题。 所以我建议如果非要自己新增一个又有同名覆盖情况, 你就保留armeabi文件夹下的文件就行了。
安卓手机的刷机包包含的很多的目录, 这些目录都是每个文件修改的地方, 对于这些需要修改的文件加油门只需要了解这些目录位置即可, 感兴趣的机油们可以自行尝试下。
……