今天想在system server进程下设置一个属性,ro.media.mine,发现没有设置成功。
后来查了下,原来设置属性之前,会做一个权限判断,判断依据就是一段一段的前缀。
判断用的结构体如下:
       struct  {           const   char   * prefix;          unsigned  int  uid;      } property_perms[]  =  {          {  " net.rmnet0. " ,    AID_RADIO },          {  " net.gprs. " ,      AID_RADIO },          {  " ril. " ,           AID_RADIO },          {  " gsm. " ,           AID_RADIO },          {  " net.dns " ,        AID_RADIO },          {  " net.usb0 " ,       AID_RADIO },          {  " net. " ,           AID_SYSTEM },          {  " dev. " ,           AID_SYSTEM },          {  " runtime. " ,       AID_SYSTEM },          {  " hw. " ,            AID_SYSTEM },          {  " sys. " ,        AID_SYSTEM },          {  " service. " ,    AID_SYSTEM },          {  " wlan. " ,        AID_SYSTEM },          {  " dhcp. " ,        AID_SYSTEM },          {  " dhcp. " ,        AID_DHCP },          {  " debug. " ,        AID_SHELL },          {  " log. " ,        AID_SHELL },          {  " service.adb.root " ,    AID_SHELL },          {  " persist.sys. " ,    AID_SYSTEM },          {  " persist.service. " ,   AID_SYSTEM },  {  " media. " ,   AID_MEDIA },          { NULL,  0  }      };



从上述结构体可知,有media前缀的属性,只能被AID_MEDIA修改,而不能被AID_SYSTEM修改。
既然是想着system server中修改属性,只有改变属性的名称了。
将属性名称改为ro.sys.setroute,果然OK了。


参考了:http://carywei.iteye.com/blog/889482

更多相关文章

  1. SAX解析 android sdk与jdk 有点区别
  2. Android悬浮窗口基本知识
  3. 判断Edittext是否为几种空方法
  4. 动画效果编程基础
  5. AndroidManifest.xml 标签含义字典
  6. android默认关闭Location服务及关闭锁屏功能
  7. android:configChanges 属性注意事项 翻转不起作用的问题
  8. android布局文件中一些属性介绍
  9. jQuery 判断iPad、iPhone、Android是横屏还是竖屏

随机推荐

  1. 什么是AspectCore Project ?
  2. 详解.net正则表达式怎么使用?
  3. 使用 VSCode 编写 .NET Core 项目的实例
  4. 实现GridView自动滚动的功能
  5. RabbitMQ基本概念和原理实例
  6. 介绍一个微软开源项目网站--CodePlex
  7. 软件的增量更新是什么?
  8. 把exe注册为windows服务实例教程
  9. WPF下使用Uri的实例教程
  10. 网络通讯控制器分组,提高交互的负载平衡能