写在前面
声明,我没有针对 https://www.52pojie.cn/thread-1274517-1-1.html 前辈的帖子,相比来说操作更加方便而已,功能是一致的。
只是恰好今天,我在使用一台root 过的 miui9 的设备时,懒得登账号和插 SIM 卡,也懒得装 xposed 和 frida,才发现了本文的方式, 直接修改配置文件 就可以实现相关功能。觉得挺有用的,就分享给大家。
PS:没有经过严格的测试,reboot 之后效果依然保持,目前(2020年10月12日15:27:19)没有失效。
关键词
miui,需root,无需xposed,无需 frida,绕过USB安装弹框。
效果
众所周知,小米手机开启 USB 安装功能,需要插入 SIM 卡登陆、需要登小米账号;安装 app 时会有弹框。
本文在只有一个 root shell 的情况下,实现了开启 USB 相关功能,并且安装 APP 不会弹框。
测试环境:Mi Note (miui9),红米8A(miui11)
无需 SIM卡和小米账号,开启USB相关功能
操作方法:
功能 1
使用 root编辑
/data/data/com.miui.securitycenter/shared_prefs/remote_provider_preferences.xml
,修改或者插入
<boolean name="security_adb_install_enable" value="true" />
用于【开发者选项】——【USB 安装,允许通过 USB 安装应用】的开关。
功能 2
root virgo:/ setprop presist.security.adbinput 1
用于【开发者选项】——【USB 调试(安全设置),允许通过 USB 调试修改权限或者模拟点击】
功能3
root virgo:/ setprop presist.fastboot.enable 1
用于【开发者选项】——【FASTBOOT 刷机模式,允许电脑通过 USB 刷机】
分析过程:
搜 com.android.settings
这个 app,找到一个类,点进去看到和 usb 相关的功能,搜关键词adb,找到了这两个功能。
效果图
绕过 USB 安装时的弹框
方法:
使用 root编辑 /data/data/com.miui.securitycenter/shared_prefs/remote_provider_preferences.xml
,
修改或者插入
<boolean name="permcenter_install_intercept_enabled" value="false" />
分析过程
回到我gist https://gist.github.com/LeadroyaL/98d35f526c44d86b379a7099f6f823e6 提供的方法,对 SecurityCenter 的 AdbInstallActivity 的某个字段的 isEnabled 方法进行 hook,让它的返回值返回 false。我们对比一下 miui9 和 miui11 的代码,发现它们一模一样,都是访问 permcenter_install_intercept_enabled,在配置文件里没有,我们主动添加这一项即可。
效果:adb install测试, 没有弹框,完美解决!