Android 6.0之前的所在位置:
data/data/com.android.providers.settings/databases
Android 6.0之后的所在位置:
/data/system/users/userid/settings_[system|global|secure].xml
一共三个xml文件用来存储系统设置。
参考:
https://stackoverflow.com/questions/51466177/where-is-the-sqlite-database-that-holds-the-global-settings-stored-on-nougat
是因为在Rewrite of the settings provider这个提交之后,就通过xml文件存储系统设置了。这个提交的时间是在 Thu Jan 15 14:22:26 2015 或 12 Feb 2015 其中一个时间提交的也就是在:
- 2014年10月/2015/3月-Android 5.0/5.1 - Lollipop(Android L)
- 2015年9月-Android 6.0 - Marshmallow(Android M)
Android 6.0发布之前改的。
小知识:
如何知道SQLiteDatabase类所打开的数据库文件的位置?
答:利用SQLiteDatabase.toString方法,参考源码,如下:
@Override

从Android 6.0开始,SettingsProvider的数据存储位置发生了变化。在6.0之前,存储在data/data/com.android.providers.settings/databases,而之后则存储在/data/system/users/userid/settings_*.xml文件中,分为system、global和secure三个文件。这一改动发生在2015年的某个时间,与Android 6.0 Marshmallow的发布前后。此外,可以通过SQLiteDatabase.toString方法获取数据库文件的位置。
最低0.47元/天 解锁文章
1962

被折叠的 条评论
为什么被折叠?



