想在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

[c-sharp] view plain copy
  1. $(LOCAL_PATH)/notifications/AlertSound_sample-08.ogg:system/media/audio/notifications/AlertSound_sample-08.ogg /
  2. $(LOCAL_PATH)/test_music.ogg:system/media/audio/notifications/test_music.ogg/
  3. $(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文件中。

在Android系统中添加一款新铃声相关推荐

  1. 向Android系统中添加模块及产品流程

     添加Android模块  一.基础知识: (1)在Android系统中,编译都是以模块(而不是文件)作为单位的,每个模块都有一个唯一的名称: (2)为了将模块编译到Android系统中,每个模块都需 ...

  2. 在Android系统中添加组合键快捷启动功能

    启动系统特定功能的组合键的判断应该在系统分发按键消息前处理, 这样从系统运行 的角度来说成本最低. 添加组合键处理需要先搞清楚按键消息在framework中采集 和分发子系统的工作流程, 虽然有and ...

  3. Android系统中如何添加USB网络共享

    Android系统中如何添加USB网络共享 类别 需求 索引类别 USB网络共享 问题描述 平台是RT1296,在Android系统中已经有支持USB网络共享,但相应的产品系统中还未开启USB网络共享 ...

  4. (Linux)在Ubuntu系统中添加新用户并授予root权限

    向Ubuntu系统中添加新用户并为其授予root权限的步骤如下: 打开终端Terminal 输入命令: sudo su - 以 root 身份登录. 注: sudo su : 切换root身份, 不携 ...

  5. 修复 Android 系统问题的 9 款最佳 Android 手机维修软件和应用

    您可能会对新的 Android 手机印象深刻,因为它令人兴奋的性能.然而,随着时间的推移,您可能会发现系统与过去不一样.您可能会遇到屏幕无响应. Android 应用程序崩溃.连接问题.电池耗尽等现象 ...

  6. Android系统中的进程管理:进程的创建

    对于操作系统来说,进程管理是其最重要的职责之一. 考虑到这部分的内容较多,因此会拆分成几篇文章来讲解. 本文是进程管理系统文章的第一篇,会讲解Android系统中的进程创建. 本文适合Android平 ...

  7. android属于数据库管理系统,详细谈谈Android系统中的SQLite数据库的应用

    数据库是按照数据结构来组织.存储和管理数据的仓库,而在信息话的社会,数据库又不单单仅限与数据的相关内容,现在数据库技术是管理信息系统.办公自动化系统.决策支持系统等各类信息系统的核心部分,而SQL是结 ...

  8. Android系统中固件崩溃后使用uevent机制重新加载固件 流程分析

    [前言] Android系统为了保证各商业公司的利益,允许在系统中使用不开源的固件.因此我们可以看到比如用于音频处理的.用于键盘支持的等等大量固件.既然这么多模块要用到固件,那么我们也有必要来了解一下 ...

  9. android修改默认遥控器键值,RK3128平台android系统修改添加遥控器键值码值

    本帖最后由 微笑,一路向前 于 2017-1-4 15:34 编辑 最近帮客户定制RK3128平台的固件,涉及到定制新的遥控器,需要添加或修改遥控码值.RK3128平台Android系统修改遥控器码值 ...

最新文章

  1. 数字图像处理——第三章 空间域图像增强(灰度变换和直方图处理)
  2. 深入浅出的mysql第三版和第二版的区别_读《深入浅出Mysql》第二版,笔记
  3. Spring Boot学习笔记-基础(2)
  4. hadoop伪分布式模式_Hadoop模式介绍-独立,伪分布式,分布式
  5. linux 安全防护管理
  6. Openstack Swift 原理、架构与 API 介绍
  7. 《java入门如此简单》——基础知识1
  8. HTML5_增强可访问性和解决IE兼容性问题
  9. 2019/9/11,机器学习(周志华)第二章及学习笔记
  10. 护眼html颜色,在电脑中设置护眼颜色、更换网页背景色、一键护眼
  11. 背单词App开发日记2
  12. 电子邮件服务的配置和使用
  13. 随机过程4-宽平稳过程,严平稳过程的定义和判定
  14. MP530注墨 连供及传真的心得体会
  15. 基于预训练模型 ERNIE 实现语义匹配
  16. 腾讯力推开放平台Q+
  17. 计算机一级考试wps应用题库,一级计算机基础及WPS Office应用考前练习题
  18. usb转串口驱动ch341安装及安装后无效的处理办法
  19. While...Wend 语句
  20. 打开APP,判断是否是原生页面的方法(含flutter判断)

热门文章

  1. 【Photoshop实用教程】如何用魔术棒工具替换背景?
  2. 在痛苦的日子里笑出声来
  3. 华为mate30pro和华为p40pro哪个好
  4. 01-vue(v-text,插值语法,v-html,v-model,v-on,v-bind,vue中的this,事件按键修饰符)
  5. 只要5分钟!学会自己打造多系统合集的DVD安装光盘
  6. 浣熊优化算法(COA)(含MATLAB代码)
  7. karabiner-elements
  8. 【航线运输驾驶员理论考试】气象学
  9. 如何从面试官中知道自己需要准备什么
  10. 嵌入式软件开发培训笔记——boot原理与u-boot 基于Cortex_A8核的S5PC100芯片