解决init: sys_prop: permission denied uid:1003 name:service.bootanim.exit问题
来源:互联网 发布:淘宝店购物车没反应 编辑:程序博客网 时间:2024/05/16 06:10
这个错误是在调用property_set函数时出现的。通过打印信息,找到了以下代码
/android/system/core/init/property_service.cif (check_perms(msg.name, cr.uid, cr.gid, source_ctx)) {property_set((char*) msg.name, (char*) msg.value);} else {ERROR("sys_prop: permission denied uid:%d name:%s\n",cr.uid, msg.name);}
继续查找check_perms函数,发现以下相关代码
for (i = 0; property_perms[i].prefix; i++) { if (strncmp(property_perms[i].prefix, name, strlen(property_perms[i].prefix)) == 0) { if ((uid && property_perms[i].uid == uid) || (gid && property_perms[i].gid == gid)) { return check_mac_perms(name, sctx); } } }
struct { const char *prefix; unsigned int uid; unsigned int gid;} property_perms[] = { { "net.rmnet0.", AID_RADIO, 0 }, { "net.gprs.", AID_RADIO, 0 }, { "net.ppp", AID_RADIO, 0 }, { "net.qmi", AID_RADIO, 0 }, { "net.lte", AID_RADIO, 0 }, { "net.cdma", AID_RADIO, 0 }, { "ril.", AID_RADIO, 0 }, { "gsm.", AID_RADIO, 0 }, { "persist.radio", AID_RADIO, 0 }, { "net.dns", AID_RADIO, 0 }, { "sys.usb.config", AID_RADIO, 0 }, { "net.", AID_SYSTEM, 0 }, { "dev.", AID_SYSTEM, 0 }, { "runtime.", AID_SYSTEM, 0 }, { "hw.", AID_SYSTEM, 0 }, { "sys.", AID_SYSTEM, 0 }, { "sys.powerctl", AID_SHELL, 0 }, { "service.", AID_SYSTEM, 0 }, { "wlan.", AID_SYSTEM, 0 }, { "bluetooth.", AID_BLUETOOTH, 0 }, { "dhcp.", AID_SYSTEM, 0 }, { "dhcp.", AID_DHCP, 0 }, { "debug.", AID_SYSTEM, 0 }, { "debug.", AID_SHELL, 0 }, { "log.", AID_SHELL, 0 }, { "service.adb.root", AID_SHELL, 0 }, { "service.adb.tcp.port", AID_SHELL, 0 }, { "persist.sys.", AID_SYSTEM, 0 }, { "persist.service.", AID_SYSTEM, 0 }, { "persist.security.", AID_SYSTEM, 0 }, { "persist.service.bdroid.", AID_BLUETOOTH, 0 }, { "selinux." , AID_SYSTEM, 0 }, { "wfd.enable", AID_MEDIA, 0 }, { NULL, 0, 0 }};可见问题的关键在于bootanimation服务的进程uid与AID_SYSTEM不一致
既然找到问题的根源,那么接下来就是想办法解决问题了。
有两种方法可以解决这个问题:
方法一:
在property_perms中,增加一项,匹配bootanimation服务的进程uid,我的uid是graphics,
所以添加如下
{ "service.bootanim.", AID_GRAPHICS, 0 },
方法二:
比较暴力的做法,直接修改进程uid。找到启动bootanimation服务的地方
service bootanim /system/bin/bootanimation class main user graphics group graphics disabled oneshot将user graphics改为user system
至此,问题解决!
1 0
- 解决init: sys_prop: permission denied uid:1003 name:service.bootanim.exit问题
- 解决init: sys_prop: permission denied uid:1003 name:service.bootanim.exit问题
- 解决init: sys_prop: permission denied uid:1003 name:service.bootanim.exit问题
- init: sys_prop: permission denied uid:1003 name:service.bootanim.exit
- init: sys_prop: permission denied uid:1000 name:app.is.3d
- Permission denied问题的解决
- init: cannot execve(‘XXX’):Permission denied问题
- permission denied (publickey)问题的解决
- Qt Permission denied问题
- Permission denied问题
- mq_open permission denied问题
- Qt Permission denied问题
- git 问题:permission denied
- env: /etc/init.d/redis: Permission denied
- env: /etc/init.d/redis: Permission denied
- 解决apache socket 连接Permission denied (13)问题
- 解决git clone提示Permission denied publickey 问题
- iOS开发 解决pods-frameworks.sh:permission denied问题
- wicket6.18获取相对路径
- windbg 调试崩溃实例
- thinkphp ....
- ACdream 1221 Little Jumper
- Java反射常用到的几个方法,获取Private字段,执行其他类的方法,获取类名
- 解决init: sys_prop: permission denied uid:1003 name:service.bootanim.exit问题
- hdu 5171 GTY's birthday gift(矩阵快速幂)
- 深入分析 Java 中的中文编码问题
- Java细节
- MySQL批量更新死锁案例分析
- cocos2dx实现自定义2D地形
- Oracle 在ORDER BY 子句中加入主键或唯一键
- OpenCV学习篇之四 存取像素值
- 位图法