如何完全卸载Android系统应用?

时间:2014-08-14 05:41:00

标签: java android uninstall

我正在开发Android系统应用。要卸载它,仅从system/app删除APK有时不会删除其共享首选项。

那么,完全卸载系统应用程序的正确方法是什么,以确保它删除与此应用程序相关的所有内容?

2 个答案:

答案 0 :(得分:2)

您似乎是在root设备上执行此操作。因此,以下命令将执行您的任务:

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

然后运行上面的命令。

答案 1 :(得分:2)

这是一种删除/卸载(不是从手机中恢复出厂设置的方法)的方法,几乎​​没有任何任何应用,而无需root包含系统应用(提示:烦人的更新应用会更新您的手机通常可以通过grepping“ ccc”找到它是否行

为此,您需要:

  1. 已安装adb
  2. 已打开USB调试

    a。在电话中转到设置->系统->关于电话->在“内部版本号”上快速点击7次

    b。在电话中转到设置->系统->开发人员选项

    c。在“调试”下,打开“ USB调试”

  3. 已通过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:
     UserInfo{0:Owner:13} running

第一个数字“ 0”是用户ID号,然后用“:”分隔,接着是用户的“名称”或用户名(上面的示例是“所有者”),然后是另一个“:”组号(13 )。您只需要用户号/ UID“ 0”。很少看到一个以上的用户。 Android操作系统可以支持1个以上的用户,但是我还没有看到它的使用。可能有几个应用可能会收到“失败”的响应,但有95%以上的用户会看到“成功”。

要列出您可以运行的所有应用程序:

$ adb shell pm list packages [-f]

-f开关用于“完整”列表,其输出格式如下: package://.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开头。并非如此,但iOS经常有100%的时间放置应用。