如何彻底卸载\删除android设备上预装app

作为apk开发人员,经常会遇到要在已预装自家apk的设备上调试新版的apk,这时候就会遇到签名冲突或者已安装错误提示 INSTALL_FAILED_ALREADY_EXISTS

这个时候就需要卸载掉该预装app。

由于预装app比较特殊,通常很难通过下面常用方法卸载掉:

方法一:用户通过遥控器在机顶盒上卸载,尝试卸载预装app时可能会提示“系统app,无法卸载”

方法二:通过adb 命令  “adb uninstall pacakgename”, 对于预装app, 通常操作结果是 “Failure”

对于需要版本迭代、调试的开发者或者QA,此时就需要通过其他方法卸载掉预装app。

经过多次实验,本人尝试出以下操作步骤可以卸载掉一部分设备上的预装app:

1. Adb 连接后 执行命令: adb shell

2. 查询安装包

#find . -name “packagename”

然后会list所有包含该packagename

然后手动到各个目录下执行 # rm -rf packagename

 

3. 查询预装apk的位置

   #find . -name “package.apk”

执行完后通常会发现/system/app/  或者/system/priv_app/ 目录下有之前预装进去的apk。这个apk文件必须删除,否则每次设备启动后系统去检查该预装app是否安装,如果没有安装,系统在启动时就会通过该apk完成安装。删掉该预装apk文件,系统再次启动时就不会安装了。

4. 删除预装apk文件

通常/system 目录下的文件无法正常删除的,会提示“Read only file system”

这时就需要通过命令”mount -o remount,rw /system” 来修改文件模式,使得只读模式变成可读写模式。

然后再到apk所在的目录 /system/app 或者/system/priv_app/ 下, 通过“rm -rf package.apk” 来删除该预装apk文件

 

完成上述步骤后,预装apk文件和安装好的目录都已删除掉了。重启下android 设备,再次adb 连接后,可以到安装目录/data/data/下查看到预装的app目录是否还在。

如果不存在,且查不到该app其他安装目录了,那么恭喜你!大功告成!

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值