我正在开发Android系统应用。要卸载它,仅从system/app
删除APK有时不会删除其共享首选项。
那么,完全卸载系统应用程序的正确方法是什么,以确保它删除与此应用程序相关的所有内容?
答案 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”找到它是否行
已打开USB调试
a。在电话中转到设置->系统->关于电话->在“内部版本号”上快速点击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:
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%的时间放置应用。