前言:
从android5.x开始,引入严格的selinux权限管理机制,经常会遇到各种avc denied的log。
SEAndroid就是SElinux的增强型版本。
确认问题
先排查是否由SElinux策略导致的问题
串口输入:setenforce 0
串口输入:getenforce 0 即进入了permissive
1. 强制关闭SEAndroid的方法:
1.1 方法一
-
如果是user版本固件,则在bootcmd加入androidboot.selinux =permissive即可
-
如果是eng或者userdebug固件也想用androidboot.selinux =permissive控制需要修改
system/core/init/Android.mk,如下
7 ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
8 init_options += \
9 -DALLOW_LOCAL_PROP_OVERRIDE=1 \
10 -DALLOW_PERMISSIVE_SELINUX=1 \
11 -DREBOOT_BOOTLOADER_ON_PANIC=1 \
12 -DWORLD_WRITABLE_KMSG=1 \
13 -DDUMP_ON_UMOUNT_FAILURE=1
14 else

本文详细介绍了解决Android系统中因SELinux权限管理机制导致的问题方法。包括如何临时禁用、永久关闭SEAndroid,以及通过调整SELinux策略来解决特定权限错误的步骤。

361

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



