1.检查是否有音频文件,即/system/media/bootaudio.mp3
2.抓取开机log。要完整的
/system/bin/bootanimation在init.rc在boot阶段运行
framework/base/cmds/bootanimations是/system/bin/bootanimation的源码
在main_log.boot搜索BootAnimation关键字,log如下:
Line 568: 11-07 14:07:05.009 466 466 D BootAnimation: [BootAnimation main 80]setBoot=1,sePaly=1,setRotated=0
Line 568: 11-07 14:07:05.009 466 466 D BootAnimation: [BootAnimation main 80]setBoot=1,sePaly=1,setRotated=0
Line 570: 11-07 14:07:05.009 466 466 D BootAnimation: [BootAnimation main 86]nVolume=0
Line 570: 11-07 14:07:05.009 466 466 D BootAnimation: [BootAnimation main 86]nVolume=0
Line 572: 11-07 14:07:05.009 466 466 D BootAnimation: before new BootAnimation...
Line 572: 11-07 14:07:05.009 466 466 D BootAnimation: before new BootAnimation...
Line 574: 11-07 14:07:05.009 466 466 D BootAnimation: [BootAnimation main 91]before new BootAnimation...
Line 574: 11-07 14:07:05.009 466 466 D BootAnimation: [BootAnimation main 91]before new BootAnimation...
Line 574: 11-07 14:07:05.009 466 466 D BootAnimation: [BootAnimation main 91]before new BootAnimation...
Line 578: 11-07 14:07:05.009 466 466 D BootAnimation: [BootAnimation frameworks/base/cmds/bootanimation/BootAnimation.cpp BootAnimation 137]
Line 578: 11-07 14:07:05.009 466 466 D BootAnimation: [BootAnimation frameworks/base/cmds/bootanimation/BootAnimation.cpp BootAnimation 137]
Line 578: 11-07 14:07:05.009 466 466 D BootAnimation: [BootAnimation frameworks/base/cmds/bootanimation/BootAnimation.cpp BootAnimation 137]
Line 578: 11-07 14:07:05.009 466 466 D BootAnimation: [BootAnimation frameworks/base/cmds/bootanimation/BootAnimation.cpp BootAnimation 137]
Line 578: 11-07 14:07:05.009 466 466 D BootAnimation: [BootAnimation frameworks/base/cmds/bootanimation/BootAnimation.cpp BootAnimation 137]
Line 580: 11-07 14:07:05.012 217 386 I SurfaceFlinger: [SF client] NEW(0xb8f7f350) for (466:/system/bin/bootanimation)
Line 581: 11-07 14:07:05.012 466 466 D BootAnimation: [BootAnimation BootAnimation 145]bBootOrShutDown=1,bPlayMP3=0,bShutRotate=0
Line 581: 11-07 14:07:05.012 466 466 D BootAnimation: [BootAnimation BootAnimation 145]bBootOrShutDown=1,bPlayMP3=0,bShutRotate=0
Line 581: 11-07 14:07:05.012 466 466 D BootAnimation: [BootAnimation BootAnimation 145]bBootOrShutDown=1,bPlayMP3=0,bShutRotate=0
Line 582: 11-07 14:07:05.013 466 466 D BootAnimation: joinThreadPool...
Line 583: 11-07 14:07:05.013 466 466 D BootAnimation: [BootAnimation main 94]before joinThreadPool...
Line 583: 11-07 14:07:05.013 466 466 D BootAnimation: [BootAnimation main 94]before joinThreadPool...
Line 670: 11-07 14:07:05.057 217 217 I BufferQueueConsumer: [BootAnimation](this:0xb8f80f88,id:1,api:0,p:-1,c:217) setConsumerName: BootAnimation
Line 670: 11-07 14:07:05.057 217 217 I BufferQueueConsumer: [BootAnimation](this:0xb8f80f88,id:1,api:0,p:-1,c:217) setConsumerName: BootAnimation
Line 671: 11-07 14:07:05.057 217 217 I BufferQueueConsumer: [BootAnimation](this:0xb8f80f88,id:1,api:0,p:-1,c:217) setDefaultBufferSize: width=1280 height=720
Line 1410: 11-07 14:07:05.148 466 505 D BootAnimation: initialize opengl and egl
Line 1641: 11-07 14:07:05.166 217 386 I BufferQueueProducer: [BootAnimation](this:0xb8f80f88,id:1,api:1,p:466,c:217) connect(P): api=1 producer=(466:/system/bin/bootanimation) producerControlledByApp=false
Line 1641: 11-07 14:07:05.166 217 386 I BufferQueueProducer: [BootAnimation](this:0xb8f80f88,id:1,api:1,p:466,c:217) connect(P): api=1 producer=(466:/system/bin/bootanimation) producerControlledByApp=false
Line 1649: 11-07 14:07:05.166 466 505 D BootAnimation: initAudioPath: DON'T PLAY AUDIO!
结合log和源码看,我的项目中出现的问题是 volume为0,所以就不播放了。就是有个应用在开机时设了静音模式,导致下次开机时就不播放开机铃声了。