不登陆小米账号启用 MIUI 的 ADB 调试(安全设置)和 ADB 应用安装

in Technology with 0 comment

默认情况下,小米限制了 ADB 中部分命令的使用。这在进行投屏等操作的时候将是一个严重的障碍。

具体来说,包括这些:

adb shell input
adb shell monkey
adb shell appops
adb shell pm grant
adb shell pm revoke
adb shell pm reset-permissions
adb shell pm clear
adb shell settings
adb shell getevent
adb shell sendevent
adb shell uiautomator

而重新启用它们的办法是在开发者选项中打开 “USB 安装” 和 “USB 调试(安全设置)”。

image.png

然而,这些选项的打开,目前均强制要求联网并登录小米账号,且插入 SIM 卡。


本人认为,这是过分的、侵犯用户合理使用权的。用户理应有不登录账号而使用手机全部功能的权利。本人搜索得出如下办法,MIUI 10~14 均已测试有效,其他版本也可一试。

该方法要求打开基本的 ADB 调试,且设备已经取得 Root。

ADB (例如 Shizuku) 的权限不足以进行此操作。必须 Root。
因此,本方法依然无法让你做到完全不注册小米账号使用手机(因为解锁 Bootloader 并取得 Root 的过程依然需要一个小米账号)。

  1. 进入 Root Shell,执行如下命令,设置 Prop 值:

     setprop persist.security.adbinstall 1
     setprop persist.security.adbinput 1
     setprop persist.fastboot.enable 1

    完成后可以执行 getprop 检查。

  1. 先在手机上关闭所有后台进程,回到桌面。之后执行:

     am force-stop com.miui.securitycenter

    避免因为手机管家运行的干扰导致修改失败。

  1. 修改 /data/data/com.miui.securitycenter/shared_prefs/remote_provider_preferences.xml 文件,在合理位置插入如下内容:

     <boolean name="permcenter_install_intercept_enabled" value="false"/>
     <boolean name="security_adb_install_enable" value="true" />

    并保存更改。

  1. 一切大功告成。你应该可以在开发者设置看到两个选项均已成功打开,并且 scrcpy 等投屏软件均已经可以使用。

理论上这无需重启就可以生效。若无效,请重启后再次尝试。

Comments