Android修改开关机动画声音教程文件
- 格式:doc
- 大小:1.45 MB
- 文档页数:19
Android开关机动画/铃音是如何播放的?1. 开关机动画的启动Android系统在init.rc中定义了很多Servic,具体定义格式可以参考《Android Platform Developer’s Guide》中的“Android Init Language”。
Init.rc中定义的Service将会被Init进程创建,其中已经定义的服务就包含了开机动画.每一项服务必须在/init.rc中定义.Android系统启动时,init守护进程将解析init.rc和启动属性服务,属性“ ctl.st art ”和“ ctl.stop ”是用来启动和停止服务的。
一旦收到设置“ ctrl.start ”属性的请求,属性服务将使用该属性值作为服务名找到该服务,启动该服务。
这项服务的启动结果将会放入“ init.svc.<服务名>“属性中。
客户端应用程序可以轮询那个属性值,以确定结果。
service bootanim /system/bin/bootanimationuser graphicsgroup graphicsdisabledoneshot//定义了一个bootanim的服务,对应执行/system/bin/bootanimation//disabled 表示init进程创建只是创建它,但不立刻执行//oneshot 表示该服务只执行一次当android系统boot时,开始加载动画和开机铃声,其代码位于//源文件SurfaceFlinger.cppstatus_t SurfaceFlinger::readyT oRun(){// start boot animation serviceproperty_set("ctl.start", "bootanim");//}当Android完成boot后,关闭动画和开机铃声,代码位于//源文件SurfaceFlinger.cppvoid SurfaceFlinger::bootFinished(){//stop bootanim serviceproperty_set("ctl.stop", "bootanim");}在Android系统中,长按Power键默认会弹出对话框让你选择“飞行模式”,“静音”,“关机”等功能。
Android系统开机动画包括两部分:开机显示的ANDROID 文字;ANDROID发光动画。
这篇文章说的开机动画是第一种,下面开始正文!1. 制作当前屏幕像素的图片(模拟器默认为320*480)使用PS制作一张320*480的图片,保存时选―保存为Web 所用格式‖,然后在弹开的窗口上,―预设‖项选择―PNG-24‖,保存为android_logo.png注:好像只支持png-24,其他格式生成的rle文件显示不正常,有兴趣大家可以再验证一下。
2. 将图片转换为raw格式使用linux下的ImageMagick自带的convert命令,进行raw格式转换,命令为:convert -depth 8 android_logo.png rgb:android_logo.raw注:ubuntu 10.04 默认已经安装ImgageMagick工具,如果当前系统没有安装,可以执行下面的命令安装:sudo apt-get install imagemagick3. 将raw格式转化为rle文件需要用到android编译后的rgb2565工具,在android/out/host/linux-x86/bin目录下(android为当前源码所在目录),转换命令如下:rgb2565 -rle < android_logo.raw > initlogo.rle到目前为止,启动需要显示的图像已经做好了,就是initlogo.rle,注意文件名必须是这个,如果想改文件名,需要修改android/system/core/init/init.h中的宏:#define INIT_IMAGE_FILE "/initlogo.rle"====================================================================== ======================下面需要将initlogo.rle加入的android文件系统中4. 找到ramdisk.img文件(android/out/target/product/generic/ramdisk.img),将文件名改为ramdisk.img.gz,然后使用下面的命令解压:gunzip ramdisk.img.gz解压后得到ramdisk.img,可能有人要问,怎么文件名又改回去了?其实不然,使用file ramdisk.img查看一下就知道了:解压前:ramdisk.img: gzip compressed data, from Unix解压后:ramdisk.img: ASCII cpio archive (SVR4 with no CRC)跑题了,还是说正事儿。
Android8.1系统修改开机logo和开机动画修改开机logo1. 在device\qcom\common\display\logo下找到logo_gen.py2. 如果没有安装Python,先执⾏以下命令 sudo apt-get install python-imaging3. 将需要制作logo的图⽚拷贝到logo_gen.py的同级⽬录需要注意的是图⽚分辨率应该与设备屏分辨率⼀致4. 运⾏如下命令⽣成splash.img,执⾏ python ./logo_gen.py logo.png5. 连上设备运⾏如下命令adb reboot bootloaderfastboot flash splash splash.imgfastboot reboot6. 检查logo是否替换成功修改开机动画1. 开机动画和关机动画的存储路径为:vendor\qcom\proprietary\qrdplus\Extension\apps\BootAnimation;2. 将制作好的动画替换路径下的zip包(bootanimation.zip 和shutdownanimation.zip)3. 需要将动画路径拷贝到/system/media⽂件⽬录下:路径:拷贝⽂件添加这⼀⾏:PRODUCT_COPY_FILES +=vendor/qcom/proprietary/qrdplus/Extension/apps/BootAnimation/bootanimation.zip:system/media/bootanimation.zip4. 修改之后编译系统,system即可;编译:source build/envsetup.shlunchm cleanm -j16编译成功之后查看⽣成的⽂件system下⾯有以下zip⽂件:实质上就是将⽂件拷贝到这个路径下是关键;之前有将zip包⽤adb命令推到设备的/system/media路径下,测试开机动画是ok的,所以拷贝⽂件使其编译到system中是关键;5. 刷系统检查修改是否成功刷系统:adb reboot bootloaderfastboot flash system system.imgfastboot -wfastboot reboot。
华为C8650手机开机动画修改方法1、下载手机原装的中国电信天翼开机动画:bootanimation.zip。
2、将刚才下载的压缩文件解压后,在电脑上得到两个文件夹part0和part1,以及文件desc.txt。
其中part0目录下存放的是按序播放一次的所有图片,part1目录下是动画播放完成后静止显示的图片,desc.txt是配置文件,我们不作修改,将part0和part1目录下的所有文件删除。
3、将自己希望在开机动画播放完成后显示的图片转换成宽320像素、高480像素的png格式的图片复制到part1目录下。
4、将自己喜欢的开机动画各帧图片转换成宽320像素、高480像素的png 格式的图片,并且按照播放顺序将文件名修改为cmx-001.png、cmx-002.png、……这样的名字,将这些图片全部复制到part0目录下。
5、选中part0、part1和desc.txt,使用压缩软件将它们压缩成zip格式的压缩包,特别提醒注意的是:压缩方式一定要选择为“存储”!生成的压缩包的文件名修改为bootanimation.zip、将自己制作的bootanimation.zip文件复制到手机SD卡上;7、在获得root权限的华为C8650手机上,使用RE管理器将bootanimation.zip 文件复制到手机的/data/local文件夹下。
8、将手机关机重启,就能看到自己DIY的华为C8500手机自定义开机动画啦~注:其它有用的细节:开机动画的制作,先要从bootanimation.zip这个压缩包说起,从网上随便下载一个动画包,解压后可以得到part0 part1和desc.txt,其中desc.txt最重要,打开desc.txt我们可以看到其中320 480意思是说你开机动画在屏幕先以多少的分辨率显示,那么不论图片大小、比例都会按照这个分辨率来播放,所以制作的时候请注意,就算要修改也要按照比例来(最大不要超过320 480。
安卓手机开机时都带有开机动画,一般来说中国运营商定制推出的安卓手机开机动画都是运营商的广告,那么怎样将难看的开机动画修改为其他呢画面呢?Android123带来的是安卓手机开机动画修改方法。
修改开机动画的准备:1.准备修改的开机动画文件,Android123准备了CM7开机动画,有兴趣的朋友可以尝试一下。
下载地址:/file/e6te89kv#2.电脑3.数据线4.安卓手机,要求必须Root,安装RE文件管理器操作步骤:1.连接手机和电脑。
2.将准备好的开机动画文件解压缩,将其中的bootanimation.zip 文件传输至手机内存卡中。
3.拔掉数据线,打开手机上的RE文件管理器,先找到内存卡中的开机动画文件bootanimation.zip,选择复制。
再进入到system/media 目录中,点击右上角Mount R/W按钮,将bootanimation.zip粘贴覆盖原有文件。
4.长按bootanimation.zip,在弹出的进阶菜单中选择权限选项,按照下图所示勾选权限。
5.重启手机,查看开机动画是否已经修改完成修改安装方法1.将下载的两个文件,复制到内存卡根目录。
2.打开RE文件管理器,打开路径/sdcard,找到复制进去的两个文件【sdcard就是内存卡存储】3.选中这两个文件,移动到如下路径/system/media 【覆盖原文件】4.依次长按这两个文件,在打开的对话框里选择‘权限’设置如下图所示【注:RE设置为装载只读】覆盖路径权限设置5.设置完毕,重启手机。
--大功告成!!!!本教程适合部分安卓系统手机!安卓修改开机声音开机声音的路径在/system/etc文件夹下,poweron.snd文件就是开机声音,开机声音比较特殊,不是三星惯用ogg格式的,而是snd格式的。
刷了橘子BVJP9的童鞋估计有留意到了,橘子开机时没有声音的,我查了下,在BVJP9里,poweron.snd 文件的大小居然是"0",能响才有鬼呢,把想要做开机铃声的音乐复制到系统的/system/etc文件夹下,替换原来的poweron.snd文件(铃声文件格式转成snd),改好权限,就可以更换开机铃声了。
安卓手机开机声音和动画设置方法安卓手机的开机声音和动画是手机系统提供的默认设置,但用户可以根据自己的喜好进行修改。
下面是一些常见的方法来设置安卓手机的开机声音和动画。
一、设置开机声音:1.开启手机设置:点击手机主屏幕上的设置图标,进入手机系统设置界面。
2.进入声音设置:在手机设置界面中,找到“声音”或“声音和振动”选项,点击进入。
3.调整音量:在声音设置界面中,找到“系统声音”或类似选项,点击进入。
4.关闭或修改开机音效:在系统声音设置界面中,找到“关闭”选项,点击即可关闭开机声音。
如果希望修改开机音效,可以选择其他预设的音效,或者点击“添加”选项,选择本地音频文件来作为开机音效。
5.保存设置:完成设置后,点击界面上的“确定”或“保存”按钮,保存设置。
二、设置开机动画:3.选择动画:在启动动画应用的主界面中,可以看到多个可选的启动动画,选择一个喜欢的启动动画。
4.设置动画:在选择完启动动画后,点击“设置”或“应用”按钮,将该动画设置为手机的开机动画。
5.保存设置:完成设置后,关闭启动动画应用,并重新启动手机,即可看到新设置的开机动画。
三、修改开机声音和动画文件:3.进入系统文件夹:在文件管理器应用中,寻找并进入“系统”文件夹。
可以通过侧边栏、菜单或者功能找到该文件夹。
4. 找到开机声音文件:在系统文件夹中,找到名为“PowerOn.mp3”、“PowerOn.ogg”或者类似的文件,这是手机系统默认的开机声音文件。
5.删除或替换文件:长按该文件,选择“删除”或“替换”,可以删除或替换该文件。
如果是删除文件,则下次开机时将没有声音;如果是替换文件,则可以选择一个自己喜欢的音频文件作为开机声音。
6. 修改开机动画文件:在系统文件夹中,找到名为“bootanimation.zip”、“bootanimation.zip”或者类似的文件,这是手机系统默认的开机动画文件。
同样的,可以删除或替换该文件来修改开机动画。
开机logo以及两种修改开机动画⽅法Android开机画⾯总共有三屏⼀、第⼀屏:开机logo1、选张png格式的图⽚,在Linux任意下执⾏(安装⼯具):1. sudo apt-get install pnmtoplainpm2、在所要定制logo的pngtopnm logo.png⽬录执⾏(转换成pnm格式):1. pngtopnm logo.png > logo_linux.pnm3、再执⾏(转化成224的pnm图⽚):1. pnmquant 224 logo_linux.pnm > logo_linux_clut224_formal.pnm4、执⾏(转换成ppm格式):1. pnmtoplainpnm logo_linux_clut224_formal.pnm > logo_linux_clut224.ppm5、/kernel/drivers/video/logo/logo_linux_clut224.ppm是默认的启动Logo图⽚,把⾃⼰的ogo_linux_clut224.ppm替换这个⽂件,同时删除logo_linux_clut224.c logo_linux_clut224.o⽂件(如果存在) 。
6、进⼊kernel⽬录重新编译内核1. cd kernel1. make kernel.img⼆、第⼆屏:Android字样Android系统开机会出现“A N D R O I D”这⾏字,相信⼤家都不陌⽣,那么这个怎么修改呢?相关⽂件在Android系统源码(不是Android内核源码)system/core/init/init.c,如下代码⽚段1. if( load_565rle_image(INIT_IMAGE_FILE) ) {2. fd = open("/dev/tty0", O_WRONLY);3. if (fd >= 0) {4. const char *msg;5. msg = "\n"6. "\n"7. "\n"8. "\n"9. "\n"10. "\n"11. "\n" // console is 40 cols x 30 lines12. "\n"13. "\n"14. "\n"15. "\n"16. "\n"17. "\n"18. "\n"19. " A N D R O I D ";20. write(fd, msg, strlen(msg));21. close(fd);22. }23. } :到这⾥⼤家就知道怎么修改了吧。
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==修改安卓系统默认音量篇一:安卓系统开关机声音及动画设置安卓手机开机关机动画与声音的修改可以进入手机的声音文件夹/system/media/audio操作。
可以加入mp3铃声,也可以移除里面的声音文件,以节省空间。
/media /audio /alarms 闹钟/media /audio /notificati** 短信/media /audio/ ringtones??来电/media /audio/ ui??系统提示音也可以更换或删除/system/media下的开关机动画、音乐。
bootanimation.zip??开机动画Bootsound.mp3? ?? ?开机音乐shutanimation.zip??关机动画Shutsound.mp3? ?? ?关机音乐篇二:三星安卓智能手机声音(音量)修改代码详解打开拔号键盘输入 *#*#197328640#*#* 进入工程模式[1] Debug Screen[2] Version Information[3] UMTS RF NV[4] GSM RF NV[5] Audio[6] COMMON[7] QXDM LOGGING选 51] HANDSET [1]HANDSET听筒[2] HEADSET [2]HEADSET(耳机)[3] SPEAKER[3]SPEAKER(扬声器)[4] BT HEADSET[4]BT HEADSET:蓝芽耳机[5] 3POLE HS[5]3POLE HS (不知道)[6] REBUILD ALL [6]REBUILD ALL:所有重建[7]BTNSECOFF [7]BTNSECOFF不知道)[8] MAX8899 AMP [8]MAX8899 AMP/max8899放大器选 1[1] TX value[2] RX value[3] NS model[4] EC mode[5] Diamond Solution[6] REBUILD Handset value[7] ASR/Not ASR Mode** Handset Rx Vol 聽筒接收音量选 2[1] Rx Codec/Volume[2] RX AGC[3] Rx Filter[4] Rebuild Handset Rx选 1[1] Rx Codec Gain:1dB (0x4c00)[2] Rx Volume0:-21dB[3] Rx Volume1:-17dB[4] Rx Volume2:-13dB[5] Rx Volume3:-9dB[6] Rx Volume4:-5dB[7] Rx Volume5:-1dB[8] Rx DTMF Gain:-33dB[9] Rebuild these vaules** 2-7 為改大小按鈕各級音量** 負數細聲,正數大聲** 輸入負20時應輸入20-** 把你要改的一项按进去按左键(设置健)选KEY INPUT 输入你要修改的数字 ** 改變後選 end 即時生效本人只把后2个修改成 [7] Rx Volume5:5dB [8] Rx DTMF Gain:9dB 已经觉得够大声了!PS"按5没反映的机油门,估计要先ROOT.[使用问题] 关于*#197328640# 进如工程模式设置的详解手机设置秘诀本帖最后由 weiwei6635 于 201X-8-17 13:43 编辑[5]AUDIO(音频设置)[1]HANDSET听筒[2]HEADSET(耳机)[3]SPEAKER(扬声器)[4]BT HEADSET:蓝芽耳机[5]3POLE HS (不知道)[6]REBUILD ALL:所有重建[7]BT NSEC OFF(不知道)[8]MAX8899 AMP/max8899放大器[1]HANDSET听筒1]TX value :传送值[2]RX value :接收值[3]NS mode:纳秒模式[4]ES mode:专家模式[5]Diamond Solution (不知道 )[6]Rebuild Handset value:手机的数值重建[7]ASR/Not ASR Mode:语音识别/没有语音识别模式[1]TX value传送值[1]TX Codec/Volume:传送解码器/ 数值[2]TX AGC:传送自动增益控制[3]TX Filter:传送滤波器[4]Rebuild Handset TX:手机传送重建值[1]TX Codec/Volume:传送解码器/ 数值[1]TX Codec Gain: 传送编码增益[2]TX Codec vol传送解码器卷[3]TX DTMF Gain:传送双音多频增益[4] TX ST Gain:传送第一增益[5]Rebuild these vaules:重建数值[2]RX value :接收值[1]RX Codec/Volume:接收解码器/ 数值[2]RX AGC:接收自动增益控制[3]RX Filter:接收滤波器[4]Rebuild Handset RX:手机接收重建值[2]RX value :接收值[1]RX Codec Gain: 接收编码增益[2]RX Volume:接收音量[3-7]RX Volume:接收音量[8]RX DTMF Gain:接收双音多频增益[9]Rebuild these vaules:重建数值[8]MAX8899 AMP:max8899放大器[1]VIEW CURRENT STATE:查看当前状态[2]SETMONO HEADSET:设置单声道耳机[3]SET STEREO HEADSET:设置立体声耳机[4]SETSPEAKER:设置扬声器[5]SET FORCE SPEAKER:集力扬声器[6]SET FM RADIO:设置调频收音机[7]SET FM RADIO SPEAKER:一套调频广播音箱[8]SET MP3 SPEAKER:套扬声器在通信中:TX: transmit传送RX: receive 接收篇三:安卓手机音量调整办法(听筒、话筒、扬声器)安卓手机音量调整办法(听筒、话筒、扬声器) 1,下面是听筒音量调正方法:在拨号界面输入 *#*#3646633#*#* 会出现一个英文界面,就是工程模式了。
开机动画第二屏和关机动画替换re进入system/media,里面能见到几个文件夹,几个压缩包,几个mp3格式的音乐文件,首先bootanimation.zip就是开机第二屏动画,所以bootaudio.mp3就是开机动画对应的开机音乐,shutanimation.zip是关机动画,shutaudio.mp3就是对应关机动画的关机音乐了,根据你手机的分辨率替换开关机动画的zip压缩包,如果你手机是800x480的的分辨率,那就下这么大的动画包,反正要根据尺寸来,动画可以小,不可以大,然后重命名文件,文件名字不能变,替换进去改权限,第一排一二个打钩,二三排第一个打钩,替换完了重启手机见证奇迹。
为什么不教改开机第一屏?因为原理不一样,第一屏是一张图片,它在一个img 为后缀的文件里,需要特殊的工具打开然后替换,不专业的人不会,所以不教,谢谢。
————————————————————拨号界面re进入system/app提取phone.apk,找到提取出来的文件夹,进入res/drawable-hdpi,第一步教图标更改,在文件夹里面找到ic_launcher_phone.png,有没有觉得很熟悉?对,这就是你的拨号图标,按照尺寸大小替换,记住,格式,名字,不能改变。
第二个教通话背景,也就是你打电话的时候,显示的界面,这个最好是找图片替换,不建议透明,背景图叫做picture_unknown.png。
现在教拨号界面,买来手机拨号界面是不是黑的,或者是别的样子,觉得很单调?没事,跟上面一样找到Contacts.apk提取,res/drawable-nodpi,里面只有一张图,我的手机看到是这个样子,洋货是不是也是这个样子,那张图片透明或者自己按照自己手机分辨率的尺寸替换,透明不建议全透明,全透明了效果不好,半透明一张黑色的图片就ok。
contacts这个是联系人的apk不知道为什么可以改拨号界面,嘿嘿,联系人不好改图标,可以参照网上的教程。
安卓手机开机画面怎么修改安卓手机开机画面怎么修改简易教程:1、手机必须ROOT了的2、装个可以进去系统文件的文件浏览器,如:RE管理器 (复制覆盖系统文件时,记得修改“只读” “读写”权限)3、在你看中的ROM里面把bootanimation.zip复制出来。
bootanimation.zip在哪里呢?ROM包一般是ZIP格式,先在电脑桌面建个文件夹,把它解压到那新建文件夹里面。
打开后不外乎就几个文件夹和文件:安卓手机开机画面修改教程自己动手做过精简包的人,基本都会,也知道里面是什么。
具体不详细说了,回归主题,bootanimation.zip一般就在system\media 里面。
如果没有就查看system其他文件夹,bootanimation.zip这样格式和名字的.文件只有一个,但bin里面的绝对不是,后面再说bin,这个是关乎开机声音的。
安卓手机开机画面修改教程bootanimation.zip里面装的就是开机动画了,里面基本是由part文件夹和 desc文档组成,part文件夹放的是png , desc则是运行参数,可以编辑图象大小、动画帧、时间频率什么的。
总之有能力的可以自己制作编辑。
小白们就无视吧。
直接拿看中的包裹移花接木就是了。
安卓手机开机画面修改教程开机动画很多人都会换,很多地方都有教程,重点来了,怎么换开机声音呢?我这里的换并非可以自定义,当然自定义不是不可能,那得会编程。
俺只是个小白,只会搬别人编辑好的。
留意上图boot.ogg 的文件,这个就是附带在我要更换的开机动画的声音文件。
大多数都会把它和bootanimaion.zip放一起的,当然也有例外的,那个就麻烦点,得自己去寻找。
然后把它一起复制到手机SD卡,再搬到同样的位置。
重重点来了,就这么把这两个文件搬到系统,只会有开机动画,还是不会有声音滴。
上面提到的bin文件夹,位置是system\bin 在里面寻找到bootanimation 文件。
Android中默认系统的声⾳⼤⼩修改和配置详解前⾔声⾳管理系统⽤来实现声⾳的输⼊和输出、声⾳的控制和路由等功能,包括主和各种⾳源的⾳量调节、声⾳焦点控制,声⾳外设的检测和状态管理,声⾳源输⼊和输出的策略管理、⾳效的播放、⾳轨设置和播放、录⾳设置和启动等功能。
最近在做定制需求的时候,需要修改系统通知的声⾳,将其禁⽤掉,避免第三⽅应⽤发送通知时,声⾳很⼤吓到⽤户。
索性就把通知声⾳关掉。
下⾯就说说关闭声⾳的⼏种⽅法,以及修改系统默认声⾳的⽅法,分享出来供⼤家参考学习,下⾯话不多说了,来⼀起看看详细的介绍吧。
本⽂是基于Android5.1的代码⼀、直接修改系统层默认的声⾳⼤⼩在系统代码frameworks/base/media/java/android/media/AudioService.java的开头定义了两个数组,⼀个MAX_STREAM_VOLUME 这⾥⾯定义了各种声⾳的最⼤值(最⼤值不是100,所以需要AudioManager.getStreamMaxVolume(type)来获取各个⾳量的最⼤值),然后进⾏设置。
还定义了⼀个数组DEFAULT_STREAM_VOLUME 这⾥⾯则和MAX_STREAM_VOLUME⾥定义的顺序是⼀样,表明了各种声⾳的默认的⼤⼩。
此块代码如下:/** @hide Maximum volume index values for audio streams */private static int[] MAX_STREAM_VOLUME = new int[] {5, // STREAM_VOICE_CALL7, // STREAM_SYSTEMX_STREAM_VOLUMEMAX_STREAM_VOLUMEMAX_STREAM_VOLUME7, // STREAM_RING15, // STREAM_MUSIC7, // STREAM_ALARM7, // STREAM_NOTIFICATION15, // STREAM_BLUETOOTH_SCO7, // STREAM_SYSTEM_ENFORCED15, // STREAM_DTMF15 // STREAM_TTS};private static int[] DEFAULT_STREAM_VOLUME = new int[] {4, // STREAM_VOICE_CALL7, // STREAM_SYSTEM5, // STREAM_RING11, // STREAM_MUSIC6, // STREAM_ALARM5, // STREAM_NOTIFICATION7, // STREAM_BLUETOOTH_SCO7, // STREAM_SYSTEM_ENFORCED11, // STREAM_DTMF11 // STREAM_TTS};如果我们需要修改默认的通知声⾳,则可以将STREAM_NOTIFICATION 前⾯的数值 5 给为 0即可,这样默认声⾳就为0 了。
开机画面,按照国际惯例,一般是分为2屏,当然也有3屏的说法,不管怎样,我这里说得就是最后的一屏,按照bootanimation的字面意思翻译,大概也就是开机动画的意思,那这就不说第几屏了,直接用“开机动画”这词。
首先,开机动画的地址:system\media\bootanimation.zip。
要修改开机动画就是修改bootanimation这个文件。
如果说你的手机里没有这个文件,那就是说明你用的是官方原始版本的rom,开机动画没有被修改过,但这不碍事,没有就放一个进去,到时候想换回最原始的开机画面,也可以把bootanimation这个文件删了。
官方最原始的开机动画在system\ framework\framework-res.apk\assets\images里面,里面主要是2张图片,高手面可以去研究一下,说不定通过这个文件可以用代码实现动画的过程。
接下来,说说bootanimation.zip这个文件的结构。
bootanimation里面主要包含一个desc.txt以及N个文件夹。
而文件夹里面放着的就是你要的开机动画的图片。
decs.txt的作用就是指导系统如何去执行你的开机画面。
下面继续说说desc.txt这个文档要怎么写。
先看例子,如果我的开机动画要用到2个文件夹,分别是part1和part2,。
我希望开机的时候,先把part1里面的图片都播放一遍,然后再循环播放part2里面的文件,直到进入系统。
那么decs.txt文档的内容应该如下:302 480 5p 1 0 part1p 0 0 part2就这么多,现在解释一下这些命令吧。
第一行,320 480是代表你屏幕的分辨率,因为我们的胖6是320*480的,这就不多说了。
后面的5是说,5帧每秒,不懂的可以这么理解,5是代表一秒钟播放5张图片。
就这么简单。
第二行,p 1 0 part1。
p应该是play吧,也就是播放的意思。
1是播放一次。
android定制化开关机动画、铃音分类:Android Fromwork 开发2012-03-26 14:34 20人阅读评论(0) 收藏举报系统通常默认支持开机动画,开机关机铃声服务倒是预先定义了,不过使用时需要在/sysytem/media/下添加相应的音频文件。
长按Power键弹出关键选项,关机时也只是显示进度条,而不是我们期望的关机动画同时伴有关机铃声,当然在做二次开发的时候,这些都是可以定制的。
下面将逐步分析如何实现这些定制化的需求。
一. 制作开机动画开机画面是保存在/system/media的bootanimation.zip,下面分析系统开机画面的构成文件名为bootanimation.zip 一定是这个不能修改,里面包含part1 part2文件夹和desc.txt,part 文件夹里面放的是动画拆分的图片,格式为png,desc.txt里面是播放的设置。
格式是这样的480 800 15p 1 0 part0p 0 0 part1480 800是指显示的分辨率宽高15是一秒的帧数p后面的数字是指播放次数0为循环,N为播放N次后面那位数字一般为0(空指令),表示播放一遍后稍作停顿的时间part0,part1 为文件夹名一般我们只使用part0目录图片准备好了,desc.txt里面的命令也准备好了,就可以把他们一起打包压缩成zip格式了。
记住,是zip格式,而不是rar格式。
另外压缩的时候注意一点,压缩的时候压缩方式要选择存储,否则开机时手机会不认的。
当然不至于变砖,只是开机的时候会黑着没动画一直到进入桌面为止。
开机动画的替换也很简单,我们把做好的bootanimation.zip替换掉原来的/system/media/bootanimation.zip文件即可。
关机动画其实和开机动画的制作一样,我们命名为shutdownanimation.zip,和bootanimation.zip放在同一目录下。
A n d r o i d修改开关机动画声音开机画面,按照国际惯例,一般是分为2屏,当然也有3屏的说法,不管怎样,我这里说得就是最后的一屏,按照bootanimation的字面意思翻译,大概也就是开机动画的意思,那这就不说第几屏了,直接用“开机动画”这词。
首先,开机动画的地址:system\media\bootanimation.zip。
要修改开机动画就是修改bootanimation这个文件。
如果说你的手机里没有这个文件,那就是说明你用的是官方原始版本的rom,开机动画没有被修改过,但这不碍事,没有就放一个进去,到时候想换回最原始的开机画面,也可以把bootanimation这个文件删了。
官方最原始的开机动画在system\ framework\framework-res.apk\assets\images里面,里面主要是2张图片,高手面可以去研究一下,说不定通过这个文件可以用代码实现动画的过程。
接下来,说说bootanimation.zip这个文件的结构。
bootanimation里面主要包含一个desc.txt以及N 个文件夹。
而文件夹里面放着的就是你要的开机动画的图片。
decs.txt的作用就是指导系统如何去执行你的开机画面。
下面继续说说desc.txt这个文档要怎么写。
先看例子,如果我的开机动画要用到2个文件夹,分别是part1和part2,。
我希望开机的时候,先把part1里面的图片都播放一遍,然后再循环播放part2里面的文件,直到进入系统。
那么decs.txt文档的内容应该如下:302 480 5p 1 0 part1p 0 0 part2就这么多,现在解释一下这些命令吧。
第一行,320 480是代表你屏幕的分辨率,因为我们的胖6是320*480的,这就不多说了。
后面的5是说,5帧每秒,不懂的可以这么理解,5是代表一秒钟播放5张图片。
就这么简单。
第二行,p 1 0 part1。
p应该是play吧,也就是播放的意思。
1是播放一次。
0是空指令,就是什么都不做。
part1就是说,这条指令是针对part1这个文件夹的。
整条指令的意思就是,播放part1里面的图片1次,然后什么都不做,马上进入下一条指令。
第三行,p 0 0 part2。
p依然是播放。
第一个0这里是代表循环播放,第二个0和上面第二条指令一样,代表什么也不做。
part2也就不多说了。
至于为什么第一个0为什么是代表循环,只能这么说,这事国际惯例,就像用迅雷的时候,0代表不限制速度一样,系统规定的,你知道就好,别纠结。
总结公式如下第一条指令:屏幕的分辨率(空格)播放频率第二条指令:p(空格)播放次数(空格)后续操作(空格)作用文件夹第三条指令:同上第N条指令:同上屏幕分辨率的格式是:宽(空格)高,胖6的就是320 480。
播放频率,上面已经说清楚了,至于到底要用多大的数字,视你开机动画的张数而定,比如说,一共有100张图片,开机时间是20秒,那么100/20就是5。
播放次数,1是代表一次,0代表循环播放。
如果要播放2次的话,就是就是打个2上去,应该是这样吧,反正我是没试过,只试过0和1.后续操作,0代表什么都不做,直接进入下一条指令。
10是代表稍作停顿。
至于文件夹里面的图片,比较简单,首先,纠正一个说法,之前说必须要是png 格式,经过我试验证明,jpg 格式的也可以,其他的有待试验,不过只支持静态图片这点应该是真的,动态图片同样有待试验。
其次,关于图片的尺寸,是不做要求的,只要在txt 文档里写好手机的分辨率即可,开机的时候系统会自动适配。
其其次要按播放循序命名,建议用5位数字,比如说,第一张图片是00010,第二张就是00020.。
为什么要从00010开始,而不是00001?因为这事预防以后要在第一张和第二张中间再插一张图片进去的话,就可以把插进去的图片命名为00011,在00010之后,00020之前。
就这么简单。
至于图片那里来嘛,当然是自己网上找啦,也可以下载别人的bootanimation ,然后修改一下。
最后就是压缩包了,把需要用到的part 文件夹跟decs.txt 打包成zip 格式,必须是zip ,不能是rar ,而且打包的时候压缩方式要选择“存储”模式。
然后改名成为bootanimation.zip ,复制到SD 卡里,再通过RE 文件管理器复制到system\media\下面,重启。
要注意一下,bootanimation 不能太大,大了会卡,一般不要超过3M ,。
————————————————————————————————————————————————————————————————————————————————————1. Linux 系统启动,出现Linux 小企鹅画面(reboot)(Android 1.5及以上版本已经取消加载图片);2. Android 平台启动初始化,出现"A N D R I O D"文字字样画面;3. Android 平台图形系统启动,出现含闪动的ANDROID 字样的动画图片(start)。
现在我们说的是第三种方式(基于模拟器):android 开机动画叫源码位于frameworks/base/cmds/bootanimation 下,这个程序会将/data/local/bootanimation.zip 或/system/media/bootanimation.zip 里面的png 图片以动画的形式播放出来。
首先,我们先来分析一下源码:frameworks/base/cmds/bootanimation/BootAnimation.cpp首先看一下定义的常量:BootAnimation::readyToRun()进入一个if 判断语句BootAnimation::threadLoop()看样子还想那么回事接下来我们给系统添加开机声音由于动画是在BootAnimation播放的,所以我们的声音肯定也在这个类中做,照猫画虎首先在BootAnimation.h添加方法的声明和头文件的引用1 2 #include <media/AudioSystem.h> #include <media/mediaplayer.h>添加方法 void bootMusic();然后在BootAnimation.cpp 中实现这个方法: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 void BootAnimation::bootMusic(){int index;MediaPlayer* mp = new MediaPlayer();if (mp->setDataSource("/system/etc/poweron.wav", NULL)== NO_ERROR) {mp->setAudioStreamType(AUDIO_STREAM_ENFORCED_AUDIBLE); mp->prepare();}AudioSystem::getStreamVolumeIndex(AUDIO_STREAM_ENFORCED_AUDIBLE, &index);if (index != 0) {mp->seekTo(0);mp->start();}}请注意这个目录setDataSource("/system/etc/poweron.wav", NULL)其实这个目录是随便写的,你想从哪个目录读这个文件就从哪个目录读好了,但是你要把这个文件放在对应的目录下比如,这个目录是system/etc (这个目录是android 系统的目录,不是源码的目录),这个文件夹是只有读权限而没有写权限的,所有你不用试adb shell 了,没用的其实system/etc 这个目录对应的是我们编译后out 文件夹下的xxx ,然后在system/etc ,所以你把poweron.wav 放到这里就行了,当然如果你这时再emulaor 也同样是看不到效果的,因为你修改完还没有编译,和上面修改图片一样,make snod 一下然后和图上一样,你就会生成新的system.img,当然你之前添加的poweron.wav也会自动被编译进去了然后再修改bootanimation_main.cpp这个文件,因为方法也申明了,也实现了,就是还没有调用,所以调用就在这里调123//play boot music -ypBootAnimation *animation = new BootAnimation();animation->bootMusic();修改完这写以后还需要修改Android.mk文件因为播放声音还需要引入库LOCAL_SHARED_LIBRARIES := \libcutils \libutils \libbinder \libui \libskia \libEGL \libGLESv1_CM \libgui \libmedia请注意,libmedia是新添加的;完事后就ok了,当然还是需要编译的mmm frameworks/base/cmds/bootanimation/make snod大功告成,这样你就成功的添加了开机音乐也许有人会问,那android系统自带的那些音乐和铃声在什么地方呢?源码目录在framworks/base/data/sounds至于编译完成后放到什么地方了那是Android.mk文件上配置的不过这里叫AllAudio.mk我们可以看到他又包含了很多mk文件,在同一目录下就可以找到,上图中就可以,我们随便打开一个看看这下你们顿时明白了吧,这些资源编译后都去了神马地方所以,在刚才添加poweron.wav的时候,其实可以直接把声音资源丢到framworks/base/data/sounds这个目录下然后再mk文件中这样修改:$(LOCAL_PATH)/poweron.wav:system/etc/poweron.wav \不用我说,当然是执行mmm还有make snod命令了其实还有一种办法,如果你不想这么麻烦,你可以之际把poweron.wav 文件丢到./frameworks/base/core/res/assets/sounds下,用的时候怎么用呢?加载的时候路径是什么呢?我们看看源码我们可以看到之前我们修改的那两张图片是怎么被加载进来的而这个方法的两个参数是:是不是顿时又明白了?原来精髓所在是有个Asset 可以使用,这个和上层开发中是一样的,这个文件夹中的东西是不编译的。
1 2 3 4 5 6 7 8 Asset* asset = assets.open(name, Asset::ACCESS_BUFFER);if (!asset)return NO_INIT;SkBitmap bitmap;SkImageDecoder::DecodeMemory(asset->getBuffer(false), asset->getLength(),&bitmap, SkBitmap::kNo_Config,SkImageDecoder::kDecodePixels_Mode);asset->close();delete asset;所以按照这个方法就可以找到poweron.wav 这个文件了,然后修改下bootMusic 的代码就可以了。