作为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其他安装目录了,那么恭喜你!大功告成!

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

  1. android删除mpeg2,如何指定在Android设备上的OUTPUT_FORMAT_MPEG2TS

    我很困惑为什么我不能使用OutputFormat.OUTPUT_FORMAT_MPEG2TS作为参数到MediaRecorder.setOutputFormat在android 2.3.6版本的设备上 ...

  2. 红橙Darren视频笔记 热更新 bsdiff bspatch 在Android设备上的应用 架构篇1完结篇

    概述 当时红橙的视频讲解就差不多90分钟,但是真正自己做出来热更新的demo还是花了八九个晚上,期间遇到各种各样的问题,什么叫台上一分钟 台下十年功是深有体会了. 本节会涉及一部分NDK的知识 推荐阅 ...

  3. takephoto 框架_GitHub - Smecking/TakePhoto: 一款用于在Android设备上获取照片(拍照或从相册、文件中选择)、裁剪图片、压缩图片的开源工具库...

    TakePhoto是一款用于在Android设备上获取照片(拍照或从相册.文件中选择).裁剪图片.压缩图片的开源工具库,目前最新版本4.0.2. 3.0以下版本及API说明,详见TakePhoto2. ...

  4. 手机facebook注销_如何在Android设备上注销Facebook Messenger

    手机facebook注销 Ever since Facebook decided to force people to use Facebook Messenger to send and recei ...

  5. 设置android启动器,教程:在任意 Android 设备上安装 HTC 专属桌面启动器

    HTC 手机的标志性 Sense UI 几乎是伴随着 Android 系统成长起来的,BlinkFeed 作为 Sense 5 的新特性进入了人们的视野之中.经历了几代更新,BlinkFeed 受到更 ...

  6. 如何查看Android设备上的分区信息

    Android设备上,一般都会存在一块eMMC存储芯片来存放系统和用户数据,甚至部分的引导程序. 一般设备出厂时,各个厂商都会将这块存储芯片分成很多的分区,每个分区内存放不同的内容.具体分区的布局每个 ...

  7. java图像分类源码_在Android设备上使用NCNN图像分类的demo

    [实例简介] 在Android设备上使用NCNN图像分类的demo,是一个Android项目 [实例截图] [核心代码] NCNN1 └── NCNN1 ├── app │   ├── app.iml ...

  8. OpenCV在Android设备上运行深度网络

    OpenCV在Android设备上运行深度网络 在Android设备上运行深度网络 介绍 要求 创建一个空的Android Studio项目 添加OpenCV依赖项 做一个样品 在Android设备上 ...

  9. android 摄像头参数,获取Android设备上的详细的摄像头信息

    原标题:获取Android设备上的详细的摄像头信息 如何获取Android设备上的详细的摄像头信息呢? 目前Samsung的Galaxy Tab和Nexus S均有前置摄像头,获取Android摄像头 ...

最新文章

  1. 会计期间在ERP开发中的设计思路
  2. tcp传输中的序列号
  3. 哲学家就餐问题linux源代码,Linux下实现哲学家就餐问题
  4. android adb server is out of date
  5. 悟空分词与mysql结合_Mysql联合查询UNION和UNION ALL的使用介绍
  6. NKU两题简单题解析(递归分析与位运算技巧)
  7. 解决ubuntu首次安装Mysql之后,首次登录出现ERROR 1698 (28000): Access denied for user 'root'@'localhost'的方法
  8. iphone 方法总结
  9. 陕西计算机软考试题及答案,2013陕西省上半年软考网络工程师下午试题及答案...
  10. 算法之【折半插入法】
  11. java 文件 填空题_Java作业之填空题.doc
  12. 简约大气昼夜双色导航主题模板/WordPress导航主题模板
  13. 解决tomcat内存溢出问题
  14. 系统架构设计——使用结构图分解复杂系统
  15. 华为管理学案例分析_华为战略管理案例分析.docx
  16. python r语言 作图_科学网—生物信息绘图之python绘图 - 孙朋川的博文
  17. jupyter 中,前面输入字符,后面的字符被覆盖消失(带小键盘的联想笔记本insert用法)
  18. 个人电脑windows装青龙面板,本地运行,无需服务器,本人亲测成功
  19. 服务器搭建个人网站(阿里云服务器)
  20. SSH2.0编程 ssh协议过程实现(转)

热门文章

  1. SpringBoot整合redis缓存(一)
  2. c# 从一组数中随机抽取一定个数_C#随机一组不重复的数字
  3. 深入浅出了解Unet
  4. Android公共工具库使用说明文档
  5. 我的Java开发技术总结
  6. 关于深度学习理论和架构的最新综述(part3)
  7. 【无人机】基于fmincon实现无人机二维路径规划附matlab代码
  8. matlab 拐点 c语言,如何使用Matlab找到含噪数据序列的拐点?
  9. 6s测试信号软件,主流智能机信号强度测试 iPhone6s表现差
  10. UT AUSTINVILLA 3D