当前位置: 代码迷 >> Android >> android开关机动画片和铃声配置
  详细解决方案

android开关机动画片和铃声配置

热度:75   发布时间:2016-04-28 06:40:21.0
android开关机动画和铃声配置

1, MTK平台开关机动画配置,
将需要调整的开关机动画和铃声放到alps\frameworks\base\data\sounds 这个目录下面,打开 该目录下的Android.mk文件,增加下面的编译link语句。会在编译的时候自动导入到 /system/media下
$(LOCAL_PATH)/bootanimation.zip:system/media/bootanimation.zip\
$(LOCAL_PATH)/newwavelabs/bootaudio.mp3:system/media/bootaudio.mp3\
$(LOCAL_PATH)/newwavelabs/shutaudio.mp3:system/media/shutaudio.mp3\
$(LOCAL_PATH)/shutanimation.zip:system/media/shutanimation.zip
2, 展讯平台开关机动画配置。 将制定的需要修改的开关机动画和铃声放入idh.code\3rdparty\anim\poweranim\special\bin位 置,上一级菜单build.sh 有说明如何在编译的时候导入/system/media下 function my_local_install()
{
# install your created files to the propery folder after android build finish
mkdir -p ${ANDROID_3RDPARTY_ANDROID_OUT}/system/media
cd ${MYCHIP_BASE}
cp bin/* ${ANDROID_3RDPARTY_ANDROID_OUT}/system/media
}

?

?

开机动画是在init.rc里起了一个服务,代码如下:

?

?

  1. service?bootanim?/system/bin/bootanimation???
  2. ????user?graphics??
  3. ????group?graphics??
  4. ????disabled??
  5. oneshot??

?

而bootanimation的代码是在以下路径下

/frameworks/base/cmds/bootanimation

相关动画与声音资源放在如下路径:、

/frameworks/base/data/sound/

以下内容摘自MTK编译笔记

1. uboot路径

mediatek\custom\common\uboot\logo\hvga\hvga_kernel.bmp

mediatek\custom\common\uboot\logo\hvga\hvga_uboot.bmp

2. android上层动画路径

vendor\mediatek\project\artifacts\out\target\product\project\system\media\

3.开机动画
修改vendor/mediatek/***/artifacts/out/target/product/***/system/media/bootanimation.zip
4.开机铃音
修改vendor/mediatek/***/artifacts/out/target/product/***/system/media/bootaudio.mp3

5. 关机动画
修改vendor/mediatek/***/artifacts/out/target/product/***/system/media/shutanimation.zip
并确认frameworks/base/core/java/com/android/internal/app/ShutdownThread.java 中 283行 mShutOffAnimation 的初始值为true
6. 关机铃音
修改vendor/mediatek/***/artifacts/out/target/product/***/system/media/shutaudio.mp3

7.默认壁纸

frameworks\base\core\res\res\drawable\default_wallpaper.jpg

8.动态壁纸

frameworks\base\core\res\res\values\config.xml

??? <string name="default_wallpaper_component">com.android.package/.classname</string>

9. 锁屏壁纸

?mediatek/source/frameworks/banyan/res/res

10.蓝牙信息
修改frameworks/base/core/jni/android_bluetooth_common.h 中的BTMTK_ANDROID_DEFAULT_LOCAL_NAME 定义

11.9植入第三方应用?
??? A 将apk放入vendor/mediatek/***/artifacts/out/target/product/***/system/app?
??? B 将apk用rar工具打开,提取lib目录下面的arm目录下面的所有so文件,将文件放入vendor/mediatek/***/artifacts/out/target/product/***/system/lib
??? C 确保mediatek/build/tools/mtkBegin.pl 中104行的signApk的调用被注释掉

12. 分区修改

  A 修改分区文件mediatek\build\tools\ptgen\partition_table.xls

  B 修改分区头文件mediatek\custom\project\common\partition_define.h

参考:

http://hi.baidu.com/%C4%F4%CA%F7%C7%E5/blog/item/ec2eeb27137b96e299250a8e.html

http://blog.csdn.net/zeng622peng/article/details/7334016

http://yueguc.iteye.com/blog/762273

?

?

?

开机动画开关
system/core/rootdir/etc/init.goldfish.sh?
setprop debug.sf.nobootanimation 0

mediatek\custom\taibo13_gb\system\bootanim\bootanimation
mediatek\custom\taibo13_gb\system\bootanim\shutanimation

第一二张图片位置
\mediatek\custom\common\uboot\logo\wvga\wvga_kernel.bmp
\mediatek\custom\common\uboot\logo\wvga\wvga_uboot.bmp

MTK用bmp_to_raw转换成boot_logo文件,脚本在update文件,此文件在文件系统中media-images-boot_logo文件

第三张图片位置(如果没有开关机动画 开关机就会调用此处图片)
/frameworks/base/core/res/asserts/images/android-logo-mask.png
/frameworks/base/core/res/asserts/images/android-logo-shine.png

frameworks/base/core/java/com/android/internal/app/ShutdownThread.java
/frameworks/base/cmds/bootanimation/BootAnimation.cpp
/frameworks/base/cmds/bootanimation/BootAnimation.h
/frameworks/base/cmds/bootanimation/bootanimation_main.cpp
关机时去掉弹出框:
在ShutdownThread.java文件里找到beginShutdownSequence函数把mShutOffAnimation置为ture
然后把shutdownanimation.zip加到系统目录中,其制作可以参照下面文档

去掉关机充电进度条显示
快速开机? off:
/mediatek/platform/mt6573/uboot/mt6573_logo.c
快速开机? on:
/mediatek/source/external/ipod/bootlogo.c

去掉mt65xx_disp_draw_prog_bar函数

关于shutdownanimation.zip的制作:
开始写desc.txt 这个文件里面的命令。
desc.txt里面的命令格式如下:
480 800 30
p 1 0 part0
p 0 0 part1
480 800意思是说你开机动画在屏幕先以多少的分辨率显示,注意不要超过480x854的分辨率,
否则你的画面就显示不全了。
30 这个数字是代表着每秒播放的帧数,打个比方,part0文件夹里面共76个图片,
播放时间就是76/30=2.533333秒播放完毕,当然在手机里面会有一定的延时,尤其是你的图片文件
比较大的情况下,手机想播快也快不起来,卡啊
p 1(代表着播放一次) 0(空指令)part0? */这句指令就代表这part0文件夹内的图片只按名称顺序播放一次
p 0(重复播放)0 (空指令)part1 */这一句指令代表着part1文件夹内的图片会循环反复播放
还有一种是指令
p 0 10 part1 这里面的那个10代表着播放完part1文件夹内的图片一遍之后稍作停顿,然后再循环播放一遍,
再停顿少许,再播放,再停顿稍许·········重复下去
p 1 10 part1? 同理,这句代表着播放完part1文件夹内的图片之后稍作停顿然后继续执行下一条命令。
图片准备好了,desc.txt里面的命令准备好了,就可以把他们一起打包压缩成zip格式了。
记住,是zip格式,而不是rar格式。另外压缩的时候注意一点,压缩的时候压缩方式要选择存储,否则开机时
手机会不认的。开机的时候会黑着没动画一直到进入桌面为止。
如果压缩完太大,重新解压用JPEG Imager软件处理再压缩zip格式。建议不要大于6M。
压缩文件重命名为bootanimation.zip之后,放在sd卡里面,按照之前的路径替换、重启

  相关解决方案