您的位置:首页 > 移动开发 > Android开发

在Android系统中添加一款新铃声

2011-04-01 14:59 381 查看
想在Android系统中添加铃声,可以通过adb push 的方法,但如果要多次修改系统,每次push进去就显得太费劲了,这里有个简单的方法,就是把铃声编译进android 的system.img文件中,在每次刷机的时候,铃声就自动添加了。

废话不多说,直接切入主题:

1、Android系统中的铃声都放在了frameworks/base/data/sounds/目录下,所以第一步需要先把铃声拷贝到这个路径下。
进入frameworks/base/data/sounds/目录

~/work/android_src$ cd frameworks/base/data/sounds/

2、把需要添加的音频文件test_music.ogg拷贝到这个目录

~/work/android_src/frameworks/base/data/sounds$ ls
Alarm_Beep_01.ogg Alarm_Rooster_02.ogg effects newwavelabs Ring_Classic_03.ogg Ring_Digital_04.ogg Ring_Synth_04.ogg
Alarm_Beep_02.ogg alert.ogg F1_MissedCall.ogg notifications Ring_Classic_04.ogg Ring_Digital_05.ogg Ring_Synth_05.ogg
Alarm_Beep_03.ogg AudioPackage2.mk F1_New_MMS.ogg OriginalAudio.mk Ring_Classic_05.ogg ringer.ogg ringtones
Alarm_Buzzer.ogg AudioPackage3.mk F1_New_SMS.ogg ring3.ogg Ring_Digital_01.ogg Ring_Synth_01.ogg testfiles
Alarm_Classic.ogg AudioPackage4.mk F1_NewVoicemail.ogg Ring_Classic_01.ogg Ring_Digital_02.ogg Ring_Synth_02.ogg
Alarm_Rooster_01.ogg test_music.ogg Ring_Classic_02.ogg Ring_Digital_03.ogg Ring_Synth_03.ogg

3、要在每次编译的时候都把音频文件编译到system.img文件中,还需要找下Android系统管家,也就是*.mk文件。

~/work/android_src/frameworks/base/data/sounds$ lsls -l *.mk
-rwxr-xr-x 1 hyson hyson 7876 2011-01-26 08:16 AudioPackage2.mk
-rwxr-xr-x 1 hyson hyson 7471 2011-01-26 08:16 AudioPackage3.mk
-rwxr-xr-x 1 hyson hyson 7817 2011-01-26 08:16 AudioPackage4.mk
-rwxr-xr-x 1 hyson hyson 3081 2011-01-26 08:16 OriginalAudio.mk

4、修改其中的mk文件,把音频文件添加进去。以修改OriginalAudio.mk为例。

~/work/android_src/frameworks/base/data/sounds$ vi OriginalAudio.mk

$(LOCAL_PATH)/notifications/AlertSound_sample-08.ogg:system/media/audio/notifications/AlertSound_sample-08.ogg /

$(LOCAL_PATH)/test_music.ogg:system/media/audio/notifications/test_music.ogg/

$(LOCAL_PATH)/Alarm_Buzzer.ogg:system/media/audio/alarms/Alarm_Buzzer.ogg /


$(LOCAL_PATH)/test_music.ogg:system/media/audio/notifications/test_music.ogg/

表示把当前目录的test_music.ogg文件编译到target系统的system/media/audio/notifications/目录下。

5、编译系统

~/work/android_src/frameworks/base/data/sounds$ mm snod

mm snod会直接在当前目录下编译,并把编译结果写入system.img文件中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: