最近项目里要实现修改开机动画 屏蔽系统桌面等一些涉及到修改底层的功能 一开始研究了一番 心想着看来这是要定制系统 做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. c++ string用法

    首先,为了在我们的程序中使用string类型,我们必须包含头文件 .如下: #include  //注意这里不是string.h string.h是C字符串头文件 1.声明一个C++字符串 声明一个字 ...

  2. Bootstrap_Javascript_弹窗

    一. 结构分析 Bootstrap框架中的模态弹出框,分别运用了“modal”.“modal-dialog”和“modal-content”样式,而弹出窗真正的内容都放置在“modal-content ...

  3. Tomcat环境变量的配置

    Tomcat web服务器 支持全部JSP以及Servlet规范 主要作用 是提供了一个可以让Jsp和Servlet运行的平台 tomcat环境变量设置 CATALINA_HOME : D:\bran ...

  4. MongoDB 复制集模式Replica Sets

    1.概述 复制集是一个带有故障转移的主从集群.是从现有的主从模式演变而来,增加了自动故障转移和节点成员自动恢复. 复制集模式中没有固定的主结点,在启动后,多个服务节点间将自动选举 产生一个主结点.该主 ...

  5. github 分支 合并

    Git如何进行分支管理?      1.创建分支      创建分支很简单:git branch <分支名>      2.切换分支      git checkout <分支名&g ...

  6. 谈谈android 布局 的优化

    来自:http://www.cnblogs.com/youxilua/archive/2012/05/08/2489414.html 导言 设配android的屏幕一定是一个噩梦,就好比那些搞网页设计 ...

  7. C# asp:Repeater DataSource List<T>

    1. asp:Repeater 数据源为List<T> 2.页面显示 3.行绑定取值

  8. android studio集成环境搭建

    1 下载JDK(http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)      An ...

  9. Computational Methods in Bayesian Analysis

    Computational Methods in Bayesian Analysis Computational Methods in Bayesian Analysis  [Markov chain ...

  10. org.springframework.web.context.ContextLoaderListener

    ContextLoaderListener的作用就是启动Web容器时,自动装配ApplicationContext的配置信息.因为它实现了ServletContextListener这个接口,在web ...