在没有ROOT权限的限制下使用小米
在等待解锁Bootloader的时候,尝试在没有获得ROOT权限的情况下使用手机。这里记录下尝试过程。
想要使用的App
尝试 Shizuku 绕过ROOT权限
通过Shizuku可以使其他应用调用高权限的 API。启动Shizuku看介绍可以通过ADB命令来实现,可以不依赖系统的root。
在Shizuku的下载页面提供了4中下载方式:
Google Play在没有安装代理的情况下受网络影响不行GitHub Release尝试了,同样因为网络的原因不行Coolapk页面原本是提供apk文件的下载的,现在需要通过应用扫码才能下载,不行- 剩下的就是
IzzyOnDroid F-Droid Repository,幸好可以直接下载。
接下来是运行Shizuku,提供了3种方式:
ROOT首先被排除,有ROOT权限也就没有这篇blog了Wireless debugging因为MIUI没有提供这个选项,虽然是基于Android 10的- 剩下的选择就是使用
ADB了
- 开启
开发者选项:在设置->我的设备->全部参数页面上连续点击MIUI 版本就会进入开发者模式。 - 开启
ADB选项:在设置->更多设置->开发者选项->调试页面打开USB 调试和USB 调试(安全设置) - 数据线连接手机和PC,在弹出的
USB 的用途弹框中,从仅限充电修改为传输文件(MTP)。否则可能会连接失败 - 在PC上开终端输入
adb devices检查有没有出现目标设备 - 输入命令启动
Shizuku
adb shell sh /data/user_de/0/moe.shizuku.privileged.api/start.sh
一开始的时候连着线显示:Shizuku正在运行,拔掉线后就停止运行了。参考用户指南最后的方法
你可以尝试打开网络 adb(使用指令
adb tcpip 5555)后再启动 Shizuku。
使用这个方法后的确可以保持Shizuku运行,但是在运行App Ops请求相关权限的时候发现没用。然后才看到了在用户指南上的说明
对于 MIUI 11 及以上版本,你必须在 Shizuku 内授予使用者应用权限。这是因为自定义权限功能被破坏,参见 Shizuku #45 和 android-in-china/Compatibility #16
到这里,我放弃了使用Shizuku
使用Google服务
MIUI在设置->帐号与同步->谷歌基础服务提供了一个开关。具体有什么作用不清楚,但是我还是先打开了。
在自带应用商店中可以搜索Google可以看到Google Play 商店。
代理用的是v2rayNG,网上找了几个都是在国内不能正常访问的,最后还是使用奶牛快传传了apk到手机中,手动安装。
这样基本就可以使用Google服务了。
使用管理员模式绕过root
在App Ops中看到还有一个托管设备管理员模式就尝试用这个。
参考小黑屋免 Root 模式使用配置方法来操作。
- 开启
ADB,手机上记得开启USB 调试(安全设置) - 注销所有登录的账户,包括小米账户
- 如果您之前设置过访客模式、应用双开或是多用户设置等,也需要一并关闭或删除
- 在电脑上执行命令:
adb shell dpm set-device-owner web1n.stopapp/.receiver.AdminReceiver
现在小黑屋和App Ops都可以运行了。
FNG在隐藏导航键的时候需要高权限,需要用到ADB
adb shell pm grant com.fb.fluid android.permission.WRITE_SECURE_SETTINGS
Storage Isolation和WADB都确切要求ROOT权限,无解。
在没有获取ROOT权限情况下,能做就到这里了。之后在解锁Bootloader前还有更多的使用,我也会更新在这里。