ColorOS开启Magisk后丢指纹的终极解决方法,一加大氢亡了后通用(手动狗头) |
您所在的位置:网站首页 › vivox50pro指纹失效 › ColorOS开启Magisk后丢指纹的终极解决方法,一加大氢亡了后通用(手动狗头) |
4月份的时候写过一篇文章,提到了一加9系列root后开启magiskhide重启就没有指纹解锁功能了,只能每次关magiskhide再重启再开,才能正常用。
那会儿一加9系列刚出来,而一加也正式采用了OPPO的ColorOS作为国行默认固件,我觉得这个问题挺麻烦,到处找方法,最后找到了wuxianlin制作的模块可以解决这个问题,可是这个模块,会导致无法通过Google SafetyNet的验证: 【Magisk模块】一加9系列开发者选项去警告和修复ROOT掉指纹手机重启后再手动开miagisk挺麻烦的,还容易忘,如果忘了,举个例子,你某天出门去商场,门口要检查支付宝里的健康码,绿码才给进,这时候因为前几天你手机i重启后,忘记开magiskhide了,于是你在没有magiskhide环境下打开支付宝,突然发现健康码不让访问了,因为人脸校验这一关过不了,这在如今疫情大环境下可是一件很麻烦的事情(可能需要清除支付宝数据后,打开magiskhide对支付宝隐藏root再打开支付宝重新登录,然后人脸识别进入健康码,估计至少花掉三分钟时间)。 而且,这一天天的出门戴口罩,没指纹解锁是真的不方便啊,我用iPhone做主力机的时候都得靠applewatch来实现戴口罩人脸解锁…… 最近看到的一篇文章,作者是Pollyanna,他提出了一个新的解决方案,可以兼容Google SafetyNet: 对此问题有位坛友制作了一个magisk模组来修复指纹,但是该模组又会导致Google SafetyNet验证不通过。在请教该模组作者后得知,指纹验证失效原因是系统启动过程中检测到环境变量ro.boot.flash.locked值为1。因此修复模组中将该值设置为了0,而这使得SafetyNet验证不通过。我在研究后找到了让两者兼顾的方法。本质上只要在系统启动开始时将ro.boot.flash.locked值设置为0让指纹识别工作,在系统启动完了后再将该值该回0即可。 https://www.oneplusbbs.com/thread-5913449-1-1.html 如果习惯手机敲命令终端,大家就可以参考他的方法来操作,我不喜欢手机打字所以就整理成了电脑来敲命令行的亲测教程,并且加了一些自己的理解在里面,供需要的朋友参考。 1、准备工作 手机里装好magiskhide props config的模块(既然用magiskhide,应该都会从面具的模块仓库里装这个的吧),装完至少重启手机一次生效。 设置-关于-版本信息里连击版本号,打开开发者选项,然后在设置里搜索开发者选项,点进去打开USB调试。 电脑部署好adb环境(基本功,没基础就别搞了,或者看上面的手机版教程吧),用数据线连接手机后,手机上打开电脑传输文件(仅充电的话有些手机调试不了)。 以下操作记得手机尽量保持手机亮屏,可能手机会弹出授权提示,需要点同意,索赔就看不到了,只能看到命令解密报错。 2、进入配置菜单 输入命令: adb shell
再输入: su
手机上记得操作给shell授予root权限,再输入 props
如果props命令报错,可能是你手机装好magiskhide props config模块后没重启过,重启一下再试就行了(我换了个手机测试,就碰到这个问题了)。 这时候选择 4 - Add/edit custom props (active) 也就是输入 4
3、创建配置 此时,进入了下一级菜单: 我们选择 n - New custom prop 也就是输入 n这时候会让我们输入要设置的参数名称,我们输入 ro.boot.flash.locked
这个参数表示手机是否已经解锁bootloader,我查了source.android.com上对使用引导加载程序的相关文档,似乎0表示已解锁,1表示未解锁。 magiskhide是想对目标的应用隐藏root状态,所以肯定会把这个值改成1,然后又因为一些ColorOS里一些特殊逻辑冲突问题,在开机的过程中导致指纹模块罢工了。 然后我们前面提到了,如果开机的时候不运行magiskhide,开机后再执行就没事了,所以我们现在要把bootloader的状态先设置成0,晚点再改回来。 我们把ro.boot.flash.locked设置值为 0
然后会让我们选择加载的时机,我们选择 2 - post-fs-data 也就是输入 2
看到会发现在选项2后面多了括号(current),表示已选成功,提示继续的时候输入 y然后会提示重启,输入 n先别重启,我们继续设置,这时候的命令界面会回到刚才差不多的菜单,进入 n - New custom prop 输入 ro.boot.flash.locked
这里为止,注意,输入的值需要改成 1然后选择加载时机: 3 - late_start service 也就是输入 3
选择之后确认输入两次 y分别同意保存和重启手机。 中间如果设置错了,注意仔细看操作过程中的菜单项,其实有很多可以用到,大家可以仔细研究下。 我只说个最简单的,在初始菜单有个 r - Reset all options/settings 在这个解密可以输入 r重置所有自己乱改的参数,变回默认配置,然后手机重启一下就可以了。
最后,看是否成功的话,可以在magisk里直接检测 SafetyNet,或者把Play商店app的数据清掉(一加9系列长按图标进入应用信息-存储占用-清除数据)再重新打开Play进入设置-关于查看是否通过认证(没显示就等会儿再进)。
也许,可能有人会想,为啥要操作两遍,第一遍操作完直接重启行不行,我也这么想过,而且还试过了,然后发现magiskhide似乎没生效,Play的设备保护机制认证都过不了,还不如不用magiskhide来得干脆一点,想要使用magiskhide的同时,指纹可以正常,又能过SafetyNet,暂时这样操作是最稳妥的。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |