惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
About on SuperTechFans
有赞技术团队
有赞技术团队
人人都是产品经理
人人都是产品经理
月光博客
月光博客
美团技术团队
博客园 - 聂微东
阮一峰的网络日志
阮一峰的网络日志
WordPress大学
WordPress大学
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园_首页
爱范儿
爱范儿
G
Google Developers Blog
aimingoo的专栏
aimingoo的专栏
T
The Blog of Author Tim Ferriss
MongoDB | Blog
MongoDB | Blog
小众软件
小众软件
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
IT之家
IT之家
I
InfoQ
B
Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
大猫的无限游戏
大猫的无限游戏
T
Tailwind CSS Blog
F
Fortinet All Blogs

LanYunのBlog

优化macOS Dock栏的显示与隐藏 解决macOS全屏模式下某些情况显示原始鼠标指针的问题 Yarn从Classic迁移到Modern nginx自编译 用santa对二进制进行监控和授权 ESXI 8.0安装黑群晖DSM 7.x openwrt编译过程记录 编译monero For macOS ARM 自建busuanzi不蒜子平台统计平台 浅记博客更新日志 (机翻)Kubo配置文件 修改brew services中服务的启动参数 技术杂记📝 解决Surge模块不能同步问题 为Arch Linux配置邮件服务 自编译NutClient-ESXI,更改邮件逻辑 解决ESXI和群晖使用SSH密钥登录问题 为J4125软路由ESXI中群晖提供UPS服务 在arch linux上搭建rustdesk server 解决虚拟机扩容中GPT PMBR大小不符问题 搭建Tuic V5 优雅地为macOS提供python多版本的支持 修复root路径下文件权限问题 解决macOS 14上利用Whisky运行steam时有关问题 在macOS中用PhpStorm配置Xdebug调试 利用CloudFlare Workers快速自建一个IP获取器 如何自动续期证书? 从0开始速配VPS用于网站等 搭建一个基于ChatGPT的QQ机器人(Yunzai-Bot) For Mac 010 Editor For Mac 13.0.1 Crack 破解
浅记一下冻结应用后无法开机的解决办法
LanYun · 2022-08-23 · via LanYunのBlog

前言

办法很多,我记得我很早之前弄的时候有一种简便方法,但时间一长不太记得清,碰巧正好遇到个朋友有这个问题,于是记录一下解决过程.

碰巧遇到Android 12新特性:XML优化成Binary XML了.文件大小减少了大约2.4倍,读取速度提高了4.3倍.更多参考Android ABX

坏处就是修改起来有点麻烦了.😅不过问题不大,版本低于12的修改起来简单多了.所以修改版本>=12的话前提第3点就尤为重要.

虽然本人之前搞Android系统比较熟练,但毕竟转IOS很久了.不是特别熟悉了😂

冻结错误开不机一般问题表现为卡二屏(即跳过一屏加载引导画面),这种问题可以初步确认是系统问题.

如果只是二屏加载时间长,可以查看magsik模块是否过多等等不玩Android了,不多说了

本方法前提(前3点必备):

  1. 解锁BootLoader (如果你是华为手机,除了交钱有可能解决外基本上没其他办法了.另外,华为手机不配搞机.原因有很多.)
  2. 刷入支持解密的第三方REC(Recovery)
  3. 有一定智力基础和动手能力.
  4. (可选,如果满足更简单些)支持连接你手机的数据线,支持连接手机的PC且正确安装了相关驱动程序并(也是可选的:)正确配置了ADB

解决过程

进入恢复模式(Recovery Mode)

电源+音量上键.出现画面松开电源键即可.(本操作可能不是对所有机型适用,至少对大部分手机是适用的.)

满足前提第4点但未配置ADB:

自行操作:

/data/system/users/0/package-restrictions.xml(0是指的userid)复制到/sdcard(主要是方便在电脑上修改)

然后将此文件(如图所示)复制到电脑上进行下面的修改.

image-20220823204709428

如果你的安卓版本低于12或xml未采用abx格式:

打开此文件,你会看到一些受限制的应用的包名和应用的状态等.比如某个APP处于disable状态,或者某个APP具有更高的优先级等

我们主要关注它的状态即enabled的值.

image-20220824104132700

数字为3时是禁用状态,为1时是状态正常.如果你清楚冻结了某个应用而无法开机的包名,只需修改出问题的即可.而不必全部修改.

如果不清楚,将全部enabled=“3”替换为enabled="1"即可.

修改完成后将文件覆盖回去,然后再剪切并覆盖到/data/system/users/0/package-restrictions.xml并修改它的权限为-rw-rw----(即只有Owner和Group有读Read和写Write权限其余都没有.)数字表示:0600

然后重启即可解决问题.

如果你的安卓版本>=12或xml采用abx格式:

下载该开源项目

使用Python通过命令来将abx转化可读的xml

image-20220824110619053

然后参考上面👆的修改方式进行修改即可.

修改完后,

使用Java通过运行Main.java带上参数(可读xml的文件路径)转化为abx格式然后再覆盖回去.之后操作.参考上面👆

以下为我使用IntelliiJ IDEA运行的命令和相关截图.仅供参考!

1
/Library/Java/JavaVirtualMachines/jdk-17.0.1.jdk/Contents/Home/bin/java -javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=49316:/Applications/IntelliJ IDEA.app/Contents/bin -Dfile.encoding=UTF-8 -classpath /Users/lanyun/Downloads/makeabx/src/out/production/makeabx com.ccl.abxmaker.Main /Users/lanyun/Downloads/ccl_abx/package-restrictions.xml
image-20220824111132161

image-20220824111214170

满足前提第4点且配置ADB:

如果你的安卓版本>=12或xml采用abx格式请参考上面👆的办法解决.

方法一:

pull拉取文件,命令运行.

1
adb -d pull /data/system/users/0/package-restrictions.xml xx(为你的目录,例如C:\或者.即当前目录)

参考上面👆内容修改后再push回去.

1
2
3
adb -d push “xx(本地xml文件的路径)” /data/system/users/0/
chmod 0660 package-restrictions.xml
reboot

方法二(本人未试过,理论可行):

adb shell pm list packages 打印设备上的所有软件包,若使用–user参数则查询用户的空间的包

adb shell pm list packages -d 输出被禁用的软件包

冻结(禁用)应用命令:adb shell pm disable-user +应用名

解冻(启用)应用命令:adb shell pm enable +应用名

其他ADB命令自行搜索🔍.

方法三:

运行以下命令

1
2
3
4
adb shell	
cd /data/system/users/0/
find ./ -name 'package-restrictions.xml' | xargs perl -pi -e 's|enabled="1"|enabled="3"|g'
reboot

不满足前提第4点:

如果你的安卓版本>=12或xml采用abx格式请参考上面👆的办法解决.

可用在REC终端中使用以下命令解决.

1
2
3
cd /data/system/users/0/
find ./ -name 'package-restrictions.xml' | xargs perl -pi -e 's|enabled="1"|enabled="3"|g'
reboot

其他简易解决办法

直接重刷一遍完整包就行了,数据啥的都不会丢失.

不想要数据的话,双清也能行.