在没有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
前还有更多的使用,我也会更新在这里。