误删/data/system/packages.xml 文件,手机无法开机

2022-07-14 16:14:57 +08:00
 zjx200241

今天发现有一个程序卸载得不干净,想手动修改 packages.xml 来把它完全卸载,结果一不小心手贱把一整个文件删了,现在手机无法开机。

尝试在 TWRP 里面挂载 OTG U 盘来重刷系统,但是依然无法正常开机。

有想过直接格式化 data ,然后直接线刷,但是手机里的数据还是想保留下来。

请问各位有没有什么方法可以解决?感谢!

5284 次点击
所在节点    Android
8 条回复
rev1si0n
2022-07-14 17:06:56 +08:00
不要说你删除了,你手动改这个操作都是没用的,存内存里的,每次系统更改都会删除这个文件然后重新写入,除非改完你直接硬件断电。但是你直接改仍然是有可能开不了机或者恢复原状。

接着,格式化 data 你的所有数据都没了,怎么保留?

如果你还没关机那应该没问题,安装或者删掉一个 app 这个文件应该会自己写出来,不过,你重启了,无了。

最后提醒一遍,有希望,但是别再作死了,你可能可以根据 packages.list 文件来恢复,或者你足够幸运,你删掉重启的时候系统正在写入这个文件,这时候可能有个临时文件,但是估计无望,代码执行的速度可能比你关机要快(只是可能有理论上的可能,但是新手别搞了,只会越做越糟)
rev1si0n
2022-07-14 17:11:40 +08:00
如果只是想要保留相册这些,把 data 和 sdcard 完全拷贝下来。

我如果遇到这种情况又搞不定,我不会再想着使用这个手机了,我会把它留着,先把重要的东西拿出来再说。
zjx200241
2022-07-14 19:39:05 +08:00
@rev1si0n #2

感谢回复。本来想直接把 data 和 sdcard 拷出来,但现在用的是安卓 12 ,在有锁屏密码的前提下,TWRP 不支持 data 解密,所以数据可能很难直接拷出来。

现在其实搞出来了一份 packages.xml 文件,但是因为重刷了系统,系统里安装的 app 和原来的 packages.xml 中的并不完全一致,所以依然不能开机。
rev1si0n
2022-07-14 21:13:39 +08:00
@zjx200241 安卓 12 那也不是 xml 文件了,12 默认应该都是 binary xml ,你也没法编辑的
zjx200241
2022-07-14 22:07:16 +08:00
@rev1si0n #4 是的,刚刚尝试用 axmldec 来解码,发现它的格式和 AndroidManifest.xml 不一样,并不能直接解码编辑
Cusmate
2022-07-15 10:15:17 +08:00
在 system 的 init.rc 里加一个脚本吧,开机解密后自动把需要的数据全部复制到外接 u 盘里。
PengCao
2022-07-27 15:23:16 +08:00
恢复出厂吧。
卸载不干净是什么意思?是下面这几个目录还有内容?还是说卸载不掉?
/data/data/$packageName
/data/app/$pacnageName-xxxxx
/sdcard/Android/data/$packageName

都能刷机了,直接干掉 /system/app/youtAppName.apk 文件,然后 reboot 就可以了。

毕竟每次开机 PMS 都会扫描各个分区的 apk 文件,然后更新到 package.xml 和 package.list 当中去
zjx200241
2022-07-27 22:30:58 +08:00
@Cusmate #6 @PengCao #7

感谢回复,刚刚才看见。前几天已经把手机搞好了,刷了一个带 Data 分区解密的 Recovery ,然后把重要数据都用 OTG 拷出来了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/866173

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX