[英]How to uninstall android app using adb commands in the app code itself?
[英]How to uninstall updates of an android system app through adb?
所以这是我的系统应用程序,我在它上面加载了另一个 apk。 是否可以通过 adb 卸载旁加载的 apk 并运行系统应用程序?
我尝试了两种失败的方法。 我正在使用 4.4
一种。 从 /data/app 文件夹中删除了旁加载的应用程序并重新启动。 系统应用程序一直处于昏迷状态。
湾 adb卸载(成功)并重新启动。 同样的结果。
这种稍微复杂的方法做到了。
将系统 apk 从 /system/priv-app/ 移动到 /sdcard/
亚行卸载
重启
将系统应用程序从 /sdcard/ 移回 /system/priv-app/
重启
我的问题是,有没有一种直接的方法可以通过 adb 做到这一点?
由于您在顶部安装了相同的软件包(应用程序),因此 adb 软件包管理器可能删除了旧的系统应用程序(相同的软件包名称)。
您可以使用adb shell pm list packages
查看当前应用程序/ adb shell pm list packages
如果您有旧的 .apk ,您可以再次使用adb install -r <apk>
重新adb install -r <apk>
。 http://developer.android.com/tools/help/adb.html
如果您看到版本降级失败,请尝试使用-d
像这样adb install -r -d <apk>
adb uninstall <package-name>
应该卸载系统应用程序的更新。 我可以确认它适用于 Android 12。
在 Android 设备上,系统应用程序安装在只读分区:通常是system
,但也可能是product
分区。
当这些应用程序接收通过Play商店中或其他simialr手段(而不是系统更新!)的更新,这些更新安装到userdata
分区(读写)的分区。
adb unintall
简单地删除这些更新从这些更新userdata
的分区(显然无法删除从只读分区的任何东西)。
另外,如果你“恢复出厂设置”您的设备,它会擦userdata
的分区,所以您的系统应用的“股票”的版本。
readonly
分区的注意事项 system
、 product
和其他一些分区在 Android 的user
版本上是readonly
的。
user
构建是您从商店购买设备时获得的。
但是,您可以自己构建userdebug
或eng
变体,将其闪存到您的设备上,然后adb remount
在readwrite
adb remount
这些readonly
分区。 您可以在此处阅读有关构建 Android 的更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.