如何彻底卸载安卓系统应用?
Posted
技术标签:
【中文标题】如何彻底卸载安卓系统应用?【英文标题】:How to completely uninstall an Android system app? 【发布时间】:2014-10-07 16:12:45 【问题描述】:我正在开发一个 android 系统应用程序。对于卸载它,仅仅从system/app
中删除 APK 有时并不会删除其共享首选项。
那么,完全卸载系统应用程序的正确方法是什么,以确保它删除与该应用程序相关的所有内容?
【问题讨论】:
你要删除apk吗?你正在使用哪个命令 @PankajKumar : 使用 ES 文件浏览器应用程序,进入系统/应用程序,选择我的应用程序并删除。 【参考方案1】:您似乎是在有根设备上执行此操作。因此,以下命令将完成您的任务:
adb shell rm /system/app/APK_NAME.apk // Removes apk file from /system/app/ location
adb shell pm clear com.yourapp.packagename // Removes application data
它可能需要root权限,所以在运行上述命令之前,你应该运行以下命令以获取root权限:
adb root
adb remount
然后运行上面的命令。
【讨论】:
应该在设备运行时执行,还是在recovery模式下也可以使用? 设备运行时。adb shell rm
+ adb shell pm clear
组合和adb uninstall
有什么区别?【参考方案2】:
这是一种删除/卸载(不是从手机中删除/卸载的方法,因为它会恢复出厂设置)几乎任何应用程序没有根包括系统应用程序(提示:更新手机的烦人更新应用程序是否划线通常可以通过 grepping for "ccc" 找到)
为此,您需要:
-
已安装 adb
开启USB调试
一个。在手机中转到设置->系统->关于手机->快速点击“内部版本号”7次
b.在手机中转到设置->系统->开发人员选项
c。在“调试”下打开“USB调试”
通过 USB 数据线连接手机
以下示例杀死总统警报应用:
adb shell pm uninstall --user 0 com.android.cellbroadcastreceiver
看起来像这样:
$ adb shell pm uninstall --user 0 com.android.cellbroadcastreceiver
Success
查看用户运行:
adb shell pm list users
你会看到这样的:
$ adb shell pm list users
Users:
UserInfo0:Owner:13 running
第一个数字“0”是用户ID号,然后由“:”分隔,接下来是用户的“名称”或用户名(“Owner”是上面的示例),然后是另一个“:”组号(13 )。您只需要用户号/UID“0”。很少看到不止一个用户。 Android 操作系统可以支持 > 1 个用户,但我还没有看到它被使用过。可能有一些应用程序您可能会看到“失败”的响应,但 95% 以上的应用程序应该会看到“成功”。
列出您可以运行的所有应用程序:
$ adb shell pm list packages [-f]
-f 开关用于“完整”列表,其输出格式如下: 包://.apk=com.app.name 其中“package:”总是先跟应用程序的 apk 文件的完整路径,然后紧跟“=”,然后是带点符号的应用程序名称 - 注意“=”的左侧/右侧没有空格。下面是一个例子:
package:/system/priv-app/MmsService/MmsService.apk=com.android.mms.service
package:/data/app/aws.apps.netPortDb-1/base.apk=aws.apps.netPortDb
package:/oem/priv-app/Ignite/Ignite.apk=com.LogiaGroup.LogiaDeck
您会注意到有 3 个起始目录 [/system, /data, /oem] 系统应用程序通常以 /system 开头;您安装的应用程序通常以 /data 开头;由您通过手机(VZW、ATT 等)安装的应用程序通常以 /oem 开头。虽然情况并非如此,但 100% 的情况是 ios 通常是应用程序的放置方式。
【讨论】:
以上是关于如何彻底卸载安卓系统应用?的主要内容,如果未能解决你的问题,请参考以下文章