如何通过adb修改安卓手机的系统铃声

本文介绍了如何通过adb和sqlite3命令修改安卓手机的系统铃声。首先,需访问内部数据库internal.db的audio_meta表,然后修改/data/data/com.android.providers.settings/databases/settings.db的system表,更新短信、闹钟和来电铃声的配置。通过SQL语句更新ringtone、alarm_alert和notification_sound的值,完成铃声更换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、第一部分

安卓手机启动时候,会将手机系统目录下的音频文件信息加载到  /data/data/com.android.providers.media/databases目录下的internal.db的audio_meta表中,

需要通过sqlite3命令访问该部分内容。

adb操作命令如下:

 

>adb shell

$su

su

# cd /data/data/com.android.providers.media/databases

cd /data/data/com.android.providers.media/databases

# ls

ls

settings.db

setting.db

external-ffffffff.db

internal.db

# sqlite3 internal.db

sqlite3 internal.db

SQLite version 3.6.22

Enter ".help" for instructions

Enter SQL statements terminated with a ";"

sqlite> .tab

.tab

album_art                artists                  searchhelpertitle

album_info               artists_albums_map       thumbnails

albums                   audio                     video

android_metadata         audio_meta               videothumbnails

artist_info              images

artist_info_for_internal search

sqlite> select * from audio_meta;

select * from audio_meta;

1|/system/media/audio/ui/VideoRecord.ogg|VideoRecord.ogg|5582|application/ogg|14

10522689|1354005280|VideoRecordQQQQQQQQQQQQ|638|1||1|0||0|1|0|0|1|0||

2|/system/media/audio/ui/Unlock.ogg|Unlock.ogg|4666|application/ogg|1410522689|1

354005280|UnlockQQQQQQQ|498|2||1|0||0|1|0|0|1|0||

3|/system/media/audio/ui/LowBattery.ogg|LowBattery.ogg|6585|application/ogg|1410

522689|1354005280|LowBatteryQQQQQQQQQQQ|412|3||1|0||0|1|0|0|1|0||

4|/system/media/audio/ui/Lock.ogg|Lock.ogg|4661|application/ogg|1410522689|13540

05280|LockQQQQQ|497|2||1|0||0|1|0|0|1|0||

5|/system/media/audio/ui/KeypressStandard.ogg|KeypressStandard.ogg|5194|applicat

ion/ogg|1410522689|1354005280|KeypressStandardQQQQQQQQQQQQQQQQQ|433|4||1|0||0|1|

0|0|1|0||

6|/system/media/audio/ui/KeypressSpacebar.ogg|KeypressSpacebar.ogg|7392|applicat

ion/ogg|1410522689|1354005280|KeypressSpacebarQQQQQQQQQQQQQQQQQ|616|4||1|0||0|1|

0|0|1|0||

7|/system/media/audio/ui/KeypressReturn.ogg|KeypressReturn.ogg|7972|application/

ogg|1410522689|1354005280|KeypressReturnQQQQQQQQQQQQQQQ|664|4||1|0||0|1|0|0|1|0|

|

8|/system/media/audio/ui/KeypressDelete.ogg|KeypressDelete.ogg|6193|application/

ogg|1410522689|1354005280|KeypressDeleteQQQQQQQQQQQQQQQ|516|4||1|0||0|1|0|0|1|0|

|

9|/system/media/audio/ui/Effect_Tick.ogg|Effect_Tick.ogg|3994|application/ogg|14

10522690|1354005280|Effect_TickQQQQQQQQQQQQ|399|3||1|0||0|1|0|0|1|0||

…..

 

 

2、第二部分

手机的电话铃声、短信铃声、闹铃铃声的配置信息则被保存在 /data/data/com.android.providers.settings/databases目录下的settings.db的system表中,同样需要通过sqlite3命令访问该部分内容。

adb 命令操作如下:

 

>adb shell

$su

su

# cd /data/data/com.android.providers.settings/databases

cd /data/data/com.android.providers.settings/databases

# ls

ls

settings.db

# sqlite3 settings.db

sqlite3 settings.db

SQLite version 3.6.22

Enter ".help" for instructions

Enter SQL statements terminated with a ";"

sqlite> .tab

.tab

android_metadata  bookmarks          proxylist          system

bluetooth_devices  proxy              secure             trusted_list

sqlite> .schema system

.schema system

CREATE TABLE system (_id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXTUNIQUE ON C

ONFLICT REPLACE,value TEXT);

CREATE INDEX systemIndex1 ON system (name);

sqlite> select * from system;

select * from system;

1|volume_music|6

3|volume_system|7

5|volume_alarm|6

6|volume_notification|5

7|volume_bluetooth_sco|6

8|mode_ringer|2

9|vibrate_on|4

10|mode_ringer_streams_affected|1062

11|mute_streams_affected|46

12|dim_screen|1

14|screen_off_timeout|60000

15|emergency_tone|0

16|call_auto_retry|0

17|dtmf_tone_type|0

18|hearing_aid|0

19|tty_mode|0

21|airplane_mode_radios|cell,bluetooth,wifi

22|wifi_sleep_policy|2

23|wifi_cellular_wlan|2

24|auto_time|1

26|screen_brightness_mode|0

27|window_animation_scale|1.0

28|transition_animation_scale|1.0

30|haptic_feedback_enabled|1

31|notification_light_pulse|1

32|set_install_location|0

34|power_sounds_enabled|1

35|low_battery_sound|/system/media/audio/ui/LowBattery.ogg

36|dock_sounds_enabled|0

37|desk_dock_sound|/system/media/audio/ui/Dock.ogg

38|desk_undock_sound|/system/media/audio/ui/Undock.ogg

39|car_dock_sound|/system/media/audio/ui/Dock.ogg

40|car_undock_sound|/system/media/audio/ui/Undock.ogg

42|lock_sound|/system/media/audio/ui/Lock.ogg

43|unlock_sound|/system/media/audio/ui/Unlock.ogg

44|vibrate_in_silent|0

45|phone_profiles_mode|general

46|profiles_last_mode|general

47|general_volume|5

48|meeting_volume|0

49|outdoor_volume|7

50|indoor_volume|5

51|sms_validity|255

52|notifications_use_ring_volume|1

53|time_12_24|24

54|autocheck_update_mode_on|1

55|autocheck_update_frequency|3

56|Is_Standby_Select_Card_Show|0

58|sim_init_state|true

59|next_alarm_formatted|

60|wlantogprsyes|false

61|timeouttip|0

62|isselectcellular|false

66|dtmf_tone|1

67|sound_effects_enabled|1

68|lockscreen_sounds_enabled|1

71|volume_fm|12

72|volume_fm_last_audible|12

73|volume_voice|5

74|volume_voice_last_audible|5

82|stay_on_while_plugged_in|0

83|bd_setting_i|866595015507504

84|5AF931DD20E44BA038E5904D7BD5111A|22B2AC5E0FA979E617B2972DCB3ED632

85|com.baidu.deviceid|22B2AC5E0FA979E617B2972DCB3ED632

87|lsf_PushEngine|{"PushEngine":[]}

90|gprs_connection_sim_setting|0

94|currentAudioProfileId|1

98|screen_brightness|255

103|accelerometer_rotation|1

104|airplane_mode_on|0

135|volume_ring|6

136|volume_ring_last_audible|6

177|default_install_location|2

179|notification_sound|content://media/internal/audio/media/51

180|alarm_alert|content://media/internal/audio/media/69

181|ringtone|content://media/internal/audio/media/56

 

上述查询结果最后三个记录,即为手机系统当前的三种铃声设置信息,其中

notification_sound:表示手机系统当前的短信铃声,选择的是第一部分中audio_meta表中id为51的音频文件;

alarm_alert:表示手机系统当前的闹铃铃声,选择的是第一部分中audio_meta表中id为69的音频文件;

ringtone:表示手机系统当前的来电铃声,选择的第一部分audio_meta表中id为56的音频文件;

因此,如果要通过adb修改手机的铃声,只需要通过sql语句修改以上三条记录即可,比如修改来电铃声,可以在第二部分中执行以下sql语句:

sqlite> update system set value='content://media/internal/audio/media/72'where name='ringtone';

这样就把第一部分查询的id号为72的音频文件设置成了当前的来电铃声。

查询一下修改的结果:

sqlite> select * from system where name='ringtone';

select * from system where name='ringtone';

187|ringtone|content://media/internal/audio/media/72

在真机上查看一下来电铃声设置即可确认上述修改是否成功。

 

短信和闹钟铃声的修改采用的方法和来电铃声相同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值