最近项目里要实现修改开机动画 屏蔽系统桌面等一些涉及到修改底层的功能 一开始研究了一番 心想着看来这是要定制系统 做rom开发了 所以就牛逼哄哄的跑去下源码 研究rom开发 后来发现这将是一个庞大的工程 不是我一个人能搞定的 就只能想别的法子啦!

思路就是下载现成的rom进行修改,修改开机动画文件,自定义锁屏替换rom中的锁屏apk,自定义launcher替换rom中的锁屏apk.

1.首先下载对应机型的rom文件后缀是zip的压缩文件,我这里是用华为C8813做实验的。

2.解压出你下载的rom看下目录结构。

每个rom的目录结构都可能不太一样但是大体上还是一样的 其中的boot.img文件比较核心貌似什么内核文         件,所以别去动它,打开system目录下面的app目录,可以看到这里放的就是系统的一些应用的apk文件了。

3.上面简单的介绍了下rom,网上有很多相关的资料说明。下面开始修改开机动画和替换rom的apk。

步骤很简单找到开机动画所在目录,华为这款rom的开机动画目录是在cust\chinatelecom\cn\media下面这里       有俩个zip压缩文件

不同的rom中开机动画所在目录也是不一样的一般都在system\media目录下,不过文件名字都一样只要在你们        rom中搜索bootanimation.zip文件就可以快速找到所在了。

这里有个操作需要注意下,所有的修改替换操作都必须用WINRAR压缩软件(或者其他的压缩软件)直接打开压      缩包,然后进行添加或删除操作,不可以直接解压出来改完了再打包压缩回去,这样你修改之后的rom很可能没

用,因为rom在开发过程中打包的环境和你当前的环境可能不一样。

好了找到开机动画文件之后我们可以用winrar软件打开来看一下

part0和part1文件夹下就是一些开机动画的图片,原理就是动画做完之后导出一帧一帧的图片,播放时就按顺序播放这些图片,还有一个desc.txt文件,这个文件就是用来控制动画播放的一下参数的。

简要的介绍一下这些参数(摘自网络):

480854意思是说你开机动画在屏幕先以多少的分辨率显示,30这个数字是代表着每秒播放的帧数,拿我这个开机画面打个比方说,part0文件夹里面共76个图片,播放时间就是76/30=2.533333秒播放完毕,当然在手机里面会有一定的延时,尤其是你的图片文件比较大的情况下,手机想播快也快不起来.
以下部分是实现画面重复位置的
p1(代表着播放一次)0(空指令)part0*/这句指令就代表这part0文件夹内的图片只按名称顺序播放一次,p0(重复播放)0(空指令)part1*/这一句指令代表着part1文件夹内的图片会循环反复播放opda.com.cn/forum.php还有一种是指令不常用,我也来解释一下吧;
p010part1这里面的那个10代表着播放完part1文件夹内的图片一遍之后稍作停顿,然后再循环播放一遍,再停顿少许,再播放,再停顿稍许·········重复下去
p110part1同理,这句代表着播放完part1文件夹内的图片之后稍作停顿然后继续执行吓一条命令。
如果想作出一些特殊的效果,可以活用这些命令,然后分配不同的图片在各个文件夹里来实现各种重复与循环。

现在就可以把你自己的开机动画图片放到part0和part1文件下了

这你如果你没压缩成zip和存储方式时开机时手机会不认你修改之后的动画,就一直黑屏没有动画显示 知道进入系统为止。

4.替换rom中apk文件

我这里自定义了一个锁屏和launcherapk,找到\system\app目录下的rom中默认的桌面和锁屏apk,将自己自定义的apk文件命名成和其一样,然后替换,添加方式和修改动画师一样的,压缩zip格式存储方式。根据各自rom的不同,一些软件可能不在这个目录下,像华为这款rom的锁屏不在app目录下而是在\system\delapp目录下,到时候就得根据自己需要自己去找了。

所有工作都做完了之后就可以用这个修改之后的rom进行刷机了。刷完之后进入系统看到的锁屏和launcher就是我自定义的了,希望你不会刷成砖,我比较幸运 嘻嘻。以上就是我这次的经验分享,关于rom修改网上还有更多优秀的资料,只要自己肯去努力研究,就必定会取得成功,那种满满的成就感 吼吼 简直太美好了

Android Rom修改的更多相关文章

  1. Android ROM开发(三)——精简官方ROM并且内置ROOT权限,开启Romer之路

    Android ROM开发(三)--精简官方ROM并且内置ROOT权限,开启Romer之路 相信ROM的相关信息大家通过前几篇的学习都是有所了解了,这里就不在一一提示了,这里我们下载一个官方包,我们还 ...

  2. 【ROM修改教程】添加高级电源重启菜单(安卓4.0.4官方ROM)

    准备工作: 电脑上安装好JDK.下载smali和baksmali.下载apktools.要修改的ROM.adb工具(可选) 注:由于本教程面向的对象为有一定ROM修改基础的兄弟,所以对于如何使用电脑, ...

  3. Android ROM 开发技能图谱

    # Android ROM 开发技能图谱 ## 1. 操作系统 * Ubuntu(首选)* MacOSX ## 2. 编程语言 * Java * JNI(务必掌握)* C++* C ## 3. 源码 ...

  4. Android ROM 备书

    1. Android ROM 目录接口 我们经常说的刷ROM是刷系统的意思,但是ROM的原意并不是这样,ROM的全称是read only memory只读储存器,正因为它是“只读”的,而且系统文件通常 ...

  5. 详细介绍android rom移植知识普及

    详细介绍android rom移植知识普及 最近接到很多兄弟们的求助,也回答过无数个和下面这个问题类似的问题: 如何编译android 原生代码得到一个rom,然后跑到某某手机上. 鉴于很多兄弟对这块 ...

  6. Android ROM 制作教程

    本文来自: 起点手机论坛 具体文章參考:http://www.qdppc.com/forum.php?mod=viewthread&tid=43751&fromuid=1 1.Andr ...

  7. Android动态修改ToolBar的Menu菜单

    Android动态修改ToolBar的Menu菜单 效果图 实现 实现很简单,就是一个具有3个Action的Menu,在我们滑动到不同状态的时候,把对应的Action隐藏了. 开始上货 Menu Me ...

  8. Android必知必会-Android Studio修改包名

    如果移动端访问不佳,请尝试–> Github版 背景 公司做相似产品较多,一般都是以某个产品为基础修改,逐步替换设计图的切图.这个就会导致需要经常为Copy的项目修改包名. 这里是参考一些网上的 ...

  9. Android系统修改硬件设备访问权限

    Android系统修改硬件设备访问权限 在硬件抽象层模块文件(so)文件中,提供的函数调用open函数来打开设备文件,比如/dev/gpio,如果不修改设备文件/dev/gpio的访问权限,那么应用程 ...

随机推荐

  1. IE6中的常见BUG与相应的解决办法

    开发前端的同学一定都知道,IE6是兼容BUG最多的浏览器,它不支持PNG alpha通道暂且不论.其文档的解析理解规范也引起了诸多恼人的BUG,有时甚至让人感到绝望.本文主要讲解一些比较容易遇到的IE ...

  2. 使用PHP预定义变量得到url地址及相关参数

    获取url地址栏参数多种方法:$_SERVER["SERVER_PORT"]//获取端口$_SERVER['HTTP_HOST']//获取域名或主机地址 如www.sina.com ...

  3. discuz二次开发技巧

    discuz二次开发技巧 二次开发大多时候知识设置和处理,如果能够获知模板文件获得的变量数组将大大提高我们的开发效率 获取页面已经定义的变量 <--{eval printf_r(get_defi ...

  4. 最优秀的5个Linux文本编辑器

    from: http://article.yeeyan.org/view/169956/174836 作为不久前举办的比赛的一部分内容,我从那些选出他们最喜欢的Linux文本编辑器的极客读者们那获得了 ...

  5. Ubuntu14 或是其他系统当中关于sublimeSFTP超时解决方法

    一直都使用Sublime的SFTP功能,感觉还不错,好用,但是最近不知道怎么了,使用不成了,提示超时了,于是在网上找一下解决方法,没有找到,于是自己想着试试看,于在搞了一会,发现只要把配制文件当中的s ...

  6. 关于DEDECMS目录移动方法

    最近在做一个美容医院的站,由于我的本地的PHP服务器上有几个站,又不能放在根目录下,只能在根目录下新建一个目录来存放这个站,于是就有了这篇文章. 如果我们直接将根目录下的A文件夹下的DEDECMS文件 ...

  7. C#操作xml的3种方式

    C#操作Xml有很多种方式,这里写出个人常使用的三种方式 XmlDocument DataSet linq to xml  首先声明本次操作使用的xml文件:books.xml:内容如下 <?x ...

  8. centos下安装chdmg

    http://www.aboutyun.com/thread-9075-1-1.html  基本参考这个   yum clean all yum update     1.保证selinux关闭  / ...

  9. asp.net mvc 强类型视图中传入List 数据到控制器

    问题来源: 在和一位技术老师聊天时,老师问我一个mvc 表单提交的问题,问道:怎样在表单提交的时候,将 带有 List 属性的对象传入控制器? 这时,我有点呆了,以前一直都好像是 单一属性的表单提交, ...

  10. java单点登录系统CAS的简单使用

    转:http://blog.csdn.net/yunye114105/article/details/7997041 背景 有几个相对独立的java的web应用系统, 各自有自己的登陆验证功能,用户在 ...