【VR9项目】开机动画以及开机Logo修改
2017-12-07 14:29
477 查看
一、 开机Logo修改方法:
Logo使用的BMP文件目录:/work/VR9/Source/lichee/tools/pack/chips/sun50iw3p1/configs/y2/bootlogo.bmp
替换此BMP文件即可。
二、开机动画修改
目录为: android/device/softwinner/neptune-y2/media/bootanimation.zip
解压此文件后可以看到为两个png图片,分别为左眼右眼的图片。
还有一个desc.txt内容如下:
280 280 15
p 1 0 part0
p 0 0 part1
开机动画模块的源码位于:android/frameworks/base/cmds/bootanimation
目前实现开机动画的方式主要为逐帧动画和OPENGL动画
Android.mk
Android编译定义
Bootanimation_main.cpp 入口文件
Bootanimation.cpp 开机动画类的定义和实现
Bootanimation.h 开机动画类声明
内核
1: init.rc脚本中,bootanim是disable的
2:启动界面依赖于安卓系统的surface管理服务,显示必须初始化完成
3: surfaceflinger服务完成后,才能显示开机界面,OPENGL ES
4: system_server启动系统HomeUI的时候 关闭bootanim
启动框架图
Zygote创建Java层的服务和应用。
首先分析Bootanimation_main.cpp,其中只有一个main函数。
main函数的作用为:
启动prcocess线程池,创建bootanimation对象,将此对象加入到线程池中。
分析代码:
property_get("debug.sf.nobootanimation", value, "0"); 获取service.bootanim.exit的值,
即判断是否继续执行开机动画显示还是退出开机动画显示,当系统HomeUI启动以后,该值会被置1.
开机动画执行过程中会一直检查此值。
这个函数首先检查系统属性“debug.sf.nobootnimaition”的值是否不等于0。如果不等于的话,那么接下来就会启动一个Binder线程池,
并且创建一个BootAnimation对象。这个BootAnimation对象就是用来显示第三个开机画面的。由于BootAnimation对象在显示第三个
开机画面的过程中,需要与SurfaceFlinger服务通信,因此,应用程序bootanimation就需要启动一个Binder线程池。
BootAnimation类间接地继承了RefBase类,并且重写了RefBase类的成员函数onFirstRef,因此,当一个BootAnimation对象第一次被
智能指针引用的时,这个BootAnimation对象的成员函数onFirstRef就会被调用。
BootAnimation
http://www.maiziedu.com/course/485-6301/
//待补充
Logo使用的BMP文件目录:/work/VR9/Source/lichee/tools/pack/chips/sun50iw3p1/configs/y2/bootlogo.bmp
替换此BMP文件即可。
二、开机动画修改
目录为: android/device/softwinner/neptune-y2/media/bootanimation.zip
解压此文件后可以看到为两个png图片,分别为左眼右眼的图片。
还有一个desc.txt内容如下:
280 280 15
p 1 0 part0
p 0 0 part1
开机动画模块的源码位于:android/frameworks/base/cmds/bootanimation
目前实现开机动画的方式主要为逐帧动画和OPENGL动画
Android.mk
Android编译定义
Bootanimation_main.cpp 入口文件
Bootanimation.cpp 开机动画类的定义和实现
Bootanimation.h 开机动画类声明
内核
1: init.rc脚本中,bootanim是disable的
2:启动界面依赖于安卓系统的surface管理服务,显示必须初始化完成
3: surfaceflinger服务完成后,才能显示开机界面,OPENGL ES
4: system_server启动系统HomeUI的时候 关闭bootanim
启动框架图
Zygote创建Java层的服务和应用。
首先分析Bootanimation_main.cpp,其中只有一个main函数。
main函数的作用为:
启动prcocess线程池,创建bootanimation对象,将此对象加入到线程池中。
分析代码:
property_get("debug.sf.nobootanimation", value, "0"); 获取service.bootanim.exit的值,
即判断是否继续执行开机动画显示还是退出开机动画显示,当系统HomeUI启动以后,该值会被置1.
开机动画执行过程中会一直检查此值。
这个函数首先检查系统属性“debug.sf.nobootnimaition”的值是否不等于0。如果不等于的话,那么接下来就会启动一个Binder线程池,
并且创建一个BootAnimation对象。这个BootAnimation对象就是用来显示第三个开机画面的。由于BootAnimation对象在显示第三个
开机画面的过程中,需要与SurfaceFlinger服务通信,因此,应用程序bootanimation就需要启动一个Binder线程池。
BootAnimation类间接地继承了RefBase类,并且重写了RefBase类的成员函数onFirstRef,因此,当一个BootAnimation对象第一次被
智能指针引用的时,这个BootAnimation对象的成员函数onFirstRef就会被调用。
BootAnimation
http://www.maiziedu.com/course/485-6301/
//待补充
相关文章推荐
- 教你修改安卓手机开机第二屏动画。(以及你为什么失败的原因)
- Andriod开机LOGO和开机动画修改
- 修改开机logo和动画
- Android修改开机Logo和开机动画
- MTK平台修改开机动画,开机logo
- Rockchip3066 修改开机 LOGO 和开机动画
- MTK 修改开机logo和动画
- 工作笔记之安卓开机动画与logo修改
- android 开机动画修改以及默认壁纸
- Android MTK平台修改开关机动画和开机logo
- Android MTK平台修改开机动画,开机logo
- 源码下修改开机动画及开机logo
- Android MTK 6572 修改开机logo和开机动画
- Android2.3 开机Logo和开机动画修改
- 修改andorid开机LOGO及动画
- android 修改开机logo、动画
- Android MTK平台修改开关机动画和开机logo【转】
- 修改Moto开机Logo与开关机动画(以MT887为例)
- mlogic S905x 开机logo 开机视频 默认的luancher的修改
- 关于如何在MyEclipse下修改项目名包名,以及类