在Android系统中添加一款新铃声
想在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文件中。
在Android系统中添加一款新铃声相关推荐
- 向Android系统中添加模块及产品流程
添加Android模块 一.基础知识: (1)在Android系统中,编译都是以模块(而不是文件)作为单位的,每个模块都有一个唯一的名称: (2)为了将模块编译到Android系统中,每个模块都需 ...
- 在Android系统中添加组合键快捷启动功能
启动系统特定功能的组合键的判断应该在系统分发按键消息前处理, 这样从系统运行 的角度来说成本最低. 添加组合键处理需要先搞清楚按键消息在framework中采集 和分发子系统的工作流程, 虽然有and ...
- Android系统中如何添加USB网络共享
Android系统中如何添加USB网络共享 类别 需求 索引类别 USB网络共享 问题描述 平台是RT1296,在Android系统中已经有支持USB网络共享,但相应的产品系统中还未开启USB网络共享 ...
- (Linux)在Ubuntu系统中添加新用户并授予root权限
向Ubuntu系统中添加新用户并为其授予root权限的步骤如下: 打开终端Terminal 输入命令: sudo su - 以 root 身份登录. 注: sudo su : 切换root身份, 不携 ...
- 修复 Android 系统问题的 9 款最佳 Android 手机维修软件和应用
您可能会对新的 Android 手机印象深刻,因为它令人兴奋的性能.然而,随着时间的推移,您可能会发现系统与过去不一样.您可能会遇到屏幕无响应. Android 应用程序崩溃.连接问题.电池耗尽等现象 ...
- Android系统中的进程管理:进程的创建
对于操作系统来说,进程管理是其最重要的职责之一. 考虑到这部分的内容较多,因此会拆分成几篇文章来讲解. 本文是进程管理系统文章的第一篇,会讲解Android系统中的进程创建. 本文适合Android平 ...
- android属于数据库管理系统,详细谈谈Android系统中的SQLite数据库的应用
数据库是按照数据结构来组织.存储和管理数据的仓库,而在信息话的社会,数据库又不单单仅限与数据的相关内容,现在数据库技术是管理信息系统.办公自动化系统.决策支持系统等各类信息系统的核心部分,而SQL是结 ...
- Android系统中固件崩溃后使用uevent机制重新加载固件 流程分析
[前言] Android系统为了保证各商业公司的利益,允许在系统中使用不开源的固件.因此我们可以看到比如用于音频处理的.用于键盘支持的等等大量固件.既然这么多模块要用到固件,那么我们也有必要来了解一下 ...
- android修改默认遥控器键值,RK3128平台android系统修改添加遥控器键值码值
本帖最后由 微笑,一路向前 于 2017-1-4 15:34 编辑 最近帮客户定制RK3128平台的固件,涉及到定制新的遥控器,需要添加或修改遥控码值.RK3128平台Android系统修改遥控器码值 ...
最新文章
- 数字图像处理——第三章 空间域图像增强(灰度变换和直方图处理)
- 深入浅出的mysql第三版和第二版的区别_读《深入浅出Mysql》第二版,笔记
- Spring Boot学习笔记-基础(2)
- hadoop伪分布式模式_Hadoop模式介绍-独立,伪分布式,分布式
- linux 安全防护管理
- Openstack Swift 原理、架构与 API 介绍
- 《java入门如此简单》——基础知识1
- HTML5_增强可访问性和解决IE兼容性问题
- 2019/9/11,机器学习(周志华)第二章及学习笔记
- 护眼html颜色,在电脑中设置护眼颜色、更换网页背景色、一键护眼
- 背单词App开发日记2
- 电子邮件服务的配置和使用
- 随机过程4-宽平稳过程,严平稳过程的定义和判定
- MP530注墨 连供及传真的心得体会
- 基于预训练模型 ERNIE 实现语义匹配
- 腾讯力推开放平台Q+
- 计算机一级考试wps应用题库,一级计算机基础及WPS Office应用考前练习题
- usb转串口驱动ch341安装及安装后无效的处理办法
- While...Wend 语句
- 打开APP,判断是否是原生页面的方法(含flutter判断)
热门文章
- 【Photoshop实用教程】如何用魔术棒工具替换背景?
- 在痛苦的日子里笑出声来
- 华为mate30pro和华为p40pro哪个好
- 01-vue(v-text,插值语法,v-html,v-model,v-on,v-bind,vue中的this,事件按键修饰符)
- 只要5分钟!学会自己打造多系统合集的DVD安装光盘
- 浣熊优化算法(COA)(含MATLAB代码)
- karabiner-elements
- 【航线运输驾驶员理论考试】气象学
- 如何从面试官中知道自己需要准备什么
- 嵌入式软件开发培训笔记——boot原理与u-boot 基于Cortex_A8核的S5PC100芯片