You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

红米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的运行权限:

  1. 先正常连接设备并进入shell:
    adb shell
    
  2. 获取Root权限(因为Magisk已经允许ADB的超级用户访问,这一步应该能成功):
    su
    
  3. 修改adbd的root属性并重启服务:
    setprop service.adb.root 1
    stop adbd
    start adbd
    
  4. 退出shell后,再次尝试执行:
    adb root
    

这时候应该就能成功获取ADB Root权限了。

3. 修改系统build.prop添加ADB Root相关配置

非官方ROM可能移除了开发者选项里的ADB Root开关,你可以通过修改build.prop来强制开启:

  1. 挂载系统分区为可读写:
    su -c mount -o rw,remount /system
    
  2. 编辑build.prop文件(如果没有nano,可用vi替代):
    su -c nano /system/build.prop
    
  3. 添加或修改以下两行配置:
    ro.adb.secure=0
    service.adb.root=1
    
  4. 保存修改后重启设备,再尝试adb root命令。

注意:修改系统文件有风险,操作前建议备份原build.prop文件。

4. 临时调整SELinux状态

你的SELinux处于Enforcing模式,可能会阻止adbd获取Root权限,可以临时切换为Permissive测试:

  1. 进入adb shell并获取Root后,执行:
    su -c setenforce 0
    
  2. 重启adbd服务:
    stop adbd && start adbd
    
  3. 尝试adb root,成功完成Tingle操作后,再切换回Enforcing模式:
    su -c setenforce 1
    

5. 替代方案:无需adb root直接运行Tingle

其实你不一定非要通过adb root开启全局ADB Root权限,也可以这样操作:

  1. 执行adb shell进入设备shell;
  2. 输入su获取Root权限;
  3. 直接在Root shell中运行Tingle的相关命令,效果和adb root后执行是一致的。

内容的提问来源于stack exchange,提问作者jakariyaa

火山引擎 最新活动