华为开发者选项锁屏已被管理员、加密政策或凭据存储禁用

您所在的位置:网站首页 emui开发者选项 华为开发者选项锁屏已被管理员、加密政策或凭据存储禁用

华为开发者选项锁屏已被管理员、加密政策或凭据存储禁用

2024-07-07 07:01| 来源: 网络整理| 查看: 265

先说场景: 采购了一批华为的pad(android 7.0.0),每次开机都有锁屏壁纸,所以可以在开发者选项中的锁屏选项中关闭该功能。但部分设备的该选项是灰色的无法操作(具体原因不明),根据网络上说的清凭证,设密码都无效。所以花了些时间研究,记录一下思路。 前提是设备root了或者有系统权限,以下是设备root的情况处理:

1. 首先我对比了其他的设备,在开发者选项中未看到【锁屏】选项,以为这是华为自己定制的功能,由于没有源码。所以反编译了Settings.apk,其实这一步走了弯路,但还是记录一下,以下是我反编译的步骤:

1.执行命令获取Setting软件包安装信息

adb shell dumpsys package com.android.settings

结果如下 在这里插入图片描述 2.执行命令pull安装包,通过apkTool工具反编译发现Settings.apk里面没有代码,所以拉取了.odex文件,然后转成.dex,最后使用apkTool查看

adb pull /system/priv-app/Settings/oat/arm64/Settings.odex

拉取后将.odex转成.dex文件,将Settings.odex拖到fetchOdex.bat打开,稍等片刻即可生成.dex文件,文件在文末一并提供 在这里插入图片描述

2. 反编了源码发现下面的配置:

在这里插入图片描述 当通过命令执行:

adb shell su setprop persist.sys.cc_mode 1 reboot

重启后发现也没有【锁屏】选项,但问题依然没有解决,只能还原找其他的原因! 通过一番查找,最终定位到以下代码(查找的过程就省略了,如果感兴趣可以再讨论) 在这里插入图片描述 在这里插入图片描述 最终的切入点就是LockPatternUtils.java 通过源码查看工具定位 在这里插入图片描述 在这里插入图片描述 根据setBoolean一步步最终定位到 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 ** 基本可以确定整个setLockScreenDisabled()流程就是向locksettings.db数据库的locksettings表写入lockscreen.disabled字段。 ** 既然有root权限,则直接拉库改表即可,该数据库的位置在data/system目录下,以下是我修改过后的样子

如果该表没有内容,将同目录下locksettings.db-wal和locksettings.db-shm一并拉下来.

在这里插入图片描述 最后一步就是push操作,以防万无一失,还是删除设备中的locksettings.db相关文件再push操作

adb shell su chmod 777 data/system/locksettings.db reboot

重启见奇效!

附件apkTool工具: 链接:https://pan.baidu.com/s/1zbOv6mv9Ol9xAAaGJxm94Q 提取码:ngf8 源码查看工具: http://androidxref.com/



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3