红米4A刷LineageOS17.1后ADB Root权限启用失败求助
解决LineageOS 17.1下ADB Root权限无法开启的问题
针对你在红米4A上遇到的ADB Root权限报错(找不到开发者选项里的开关,但已通过Magisk获取Root),结合你的设备环境(Android 10、SELinux Enforcing、非官方LineageOS ROM),可以尝试以下几个解决方案:
1. 检查并调整Magisk的ADB Root配置
- 打开Magisk Manager,进入「设置」页面:
- 确认「超级用户访问权限」已设置为「Apps and ADB」;
- 找到「ADB Root权限」选项(部分Magisk版本此选项独立于超级用户访问权限设置),确保它处于开启状态;
- 如果Magisk Manager被隐藏,先通过输入隐藏密码恢复显示后再进行上述操作。
2. 通过命令行强制开启ADB Root
如果开发者选项里没有对应的开关,可以直接通过adb命令修改adbd的运行权限:
- 先正常连接设备并进入shell:
adb shell - 获取Root权限(因为Magisk已经允许ADB的超级用户访问,这一步应该能成功):
su - 修改adbd的root属性并重启服务:
setprop service.adb.root 1 stop adbd start adbd - 退出shell后,再次尝试执行:
adb root
这时候应该就能成功获取ADB Root权限了。
3. 修改系统build.prop添加ADB Root相关配置
非官方ROM可能移除了开发者选项里的ADB Root开关,你可以通过修改build.prop来强制开启:
- 挂载系统分区为可读写:
su -c mount -o rw,remount /system - 编辑build.prop文件(如果没有nano,可用vi替代):
su -c nano /system/build.prop - 添加或修改以下两行配置:
ro.adb.secure=0 service.adb.root=1 - 保存修改后重启设备,再尝试
adb root命令。
注意:修改系统文件有风险,操作前建议备份原build.prop文件。
4. 临时调整SELinux状态
你的SELinux处于Enforcing模式,可能会阻止adbd获取Root权限,可以临时切换为Permissive测试:
- 进入adb shell并获取Root后,执行:
su -c setenforce 0 - 重启adbd服务:
stop adbd && start adbd - 尝试
adb root,成功完成Tingle操作后,再切换回Enforcing模式:su -c setenforce 1
5. 替代方案:无需adb root直接运行Tingle
其实你不一定非要通过adb root开启全局ADB Root权限,也可以这样操作:
- 执行
adb shell进入设备shell; - 输入
su获取Root权限; - 直接在Root shell中运行Tingle的相关命令,效果和
adb root后执行是一致的。
内容的提问来源于stack exchange,提问作者jakariyaa




