最近我安装了一个名为eelo的自定义ROM。该电报应用程序已预先安装,因此可以视为系统应用程序。但是它是一种具有不同特征的自定义构建,它缺少许多功能,并且在本质上已过时。因此,我想安装该应用程序的正式版本。
对于安装该应用程序,我尝试使用adb shell pm uninstall --user 0 org.telegram.messenger
卸载前一个应用程序。输出显示为SUCCESS
,并验证了我尝试过的adb uninstall --user 0 org.telegram.messenger
的卸载。它的输出也为SUCCESS
。当我进行下一步以使用命令adb install Telegram-5.7.1.apk
安装 新APK 时,它发出了
adb: failed to install Telegram-5.7.1.apk: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package org.telegram.messenger signatures do not match the previously installed version; ignoring!]
经过进一步研究,我发现我需要注释掉/data/system/packages.xml
文件的电报包部分。但是在编辑文件并重新引导后,文件将恢复为编辑之前的原始内容。我什至尝试用chmod 744 /data/system
更改文件夹的权限,并用packages.xml
更改文件chmod 777 /data/system/packages.xml
的权限,但没有效果,因为它们在重新启动后全部还原。
我想从系统中完全卸载Telegram应用并安装一个新的。以及如何编辑/data/system/packages.xml
文件并阻止系统将其还原。
任何形式的帮助或建议都是完全可以理解的。
答案 0 :(得分:0)
最终找到了该查询的答案以及解决方法。
第一个是如何完全删除系统应用程序? 这些是以下步骤
$ adb root
-使用root特权启动adbd。
$ adb shell
-直接与电话系统交互。
$ pm uninstall --user 0 <package>.apk
-要从root用户卸载软件包,就是要从系统中删除的任何软件包。
这几个步骤可能会删除整个程序包,但就我而言,它有所不同,因为它从先前构建的应用程序中留下了几个文件。所以这些是我遵循的步骤:
$ adb shell mount -o rw,remount /system
-这会将系统重新安装为读写状态。最初/system
是只读文件夹,因此您无法直接进行编辑。
$ adb shell rm -r /system/<package>.apk
-这将删除apk,并且以前的版本将不存在任何内容。
为什么我不能编辑/data/system/packages.xml
文件?
对此的答案是,尽管我可以使用vim
对其进行编辑,但它仍会恢复为以前的未编辑形式。发生这种情况是因为它正在更新/system/app
文件中的信息。因此,对其进行编辑是徒劳的。
请参阅以下实际上对我有帮助的链接
Read only file system on Android
https://www.besttechie.com/remove-preloaded-software-from-android/