所以这是我的系统应用程序,我已经在它上面加载了另一个apk。是否可以通过adb卸载侧载的apk并运行系统应用程序?
我尝试了两种失败的方法。我正在使用4.4
一个。从/ data / app文件夹中删除了侧载的应用程序并重新启动。系统应用程序处于昏迷状态。
湾adb卸载(成功)并重新启动。同样的结果。
这种有点复杂的方法就是这样做的。
将系统apk从/ system / priv-app /移至/ sdcard /
Adb uninstall
重新启动
将系统应用从/ sdcard /移回/ system / priv-app /
重新启动
我的问题是,通过adb进行此操作有直接的方法吗?
答案 0 :(得分:5)
由于您在顶部安装了相同的软件包(app),因此adb软件包管理器可能删除了旧的系统应用程序(相同的软件包名称)。
您可以使用adb shell pm list packages
如果您有旧的.apk,则可以再次使用adb install -r <apk>
重新安装。 http://developer.android.com/tools/help/adb.html
如果您看到failed version downgrade,请尝试使用-d
,adb install -r -d <apk>
答案 1 :(得分:0)
adb uninstall <package-name>
应卸载系统应用程序的更新。
我可以确认它适用于 Android 12。
在 Android 设备上,系统应用程序安装到只读分区:通常是 system
,但也可能是 product
分区。
当这些应用程序通过 PlayStore 或其他类似方式(不是系统更新!)接收更新时,这些更新会安装到 userdata
分区(读写)分区。
adb unintall
只是从 userdata
分区中删除这些更新(显然它无法从只读分区中删除任何内容)。
或者,如果您将设备“恢复出厂设置”,它会擦除 userdata
分区,因此您将使用系统应用程序的“库存”版本。
readonly
分区的注意事项system
、product
和其他一些分区在 readonly
版本的 Android 上是 user
。
user
builds 是您从商店购买设备时获得的。
但是,您可以自己构建 userdebug
或 eng
变体,将其闪存到您的设备上,然后在 adb remount
中readonly
readwrite
分区。
您可以阅读有关构建 Android here 的更多信息。