我们都知道android app有两个安装路径,一个是system/app目录,这个就是所谓的系统应用,只有获得root权限才能删除这个目录下的应用,另一个是data/app目录,用户安装的应用都在这个目录下。

几个认知

(1)同一个包名的应用可以同时存在system/app和data/app下,只要这两个包的签名一样。如果签名一样,如果在system/app应用有一个默认签名的app,我们用Eclipse还可以在data/app下安装一个同包名的app。用adb命令,需要用adb install -r 包名,这样的命令。

我们都知道,手机买到都会预装一些app,这些app通常在system/app下,但是,后续这些app都会升级的,这个升级的安装包,是装到了data/app下,这其实就是一个同包名的app装到了两个目录下的情况。我们用户只能删掉升级包,没法删掉预装的。

大家会有个疑问,两个同包名的app,系统怎么知道调起哪个?

答案是系统知道调起data/app下。

我们可以用 adb shell pm path 包名 命令来看一下安装包的路径,你会发现只能看到data/app路径,这就是为什么系统知道调起哪个app。

(2)两个目录下的同包名app是共用同一个数据的。data/data/包名

(3)adb shell pm clear 包名,会把data/data/包名 数据都会删除。

android程序安装目录在哪里,Android app 安装目录知识相关推荐

  1. android 8.1 9.0 10.0 app安装黑名单(限制app安装)

    1.概述 在10.0的产品定制化开发中,客户需求要实现对某些app应用限制也就是app安装黑名单功能,在黑名单之中的应用会被限制安装,PMS就是负责管理app安装和卸载的,所以接下来看下PackMan ...

  2. android程序键盘锁_适用于Android的最佳键盘应用程序

    android程序键盘锁 The interactions you have with your phone's keyboard are easily some of the most intima ...

  3. Android程序 地图,在定制的Android应用程序中使用谷歌地图

    我收到以下问题(显示在LogCat中).我希望any1可以帮助我,因为我是android应用程序开发的新手.在定制的Android应用程序中使用谷歌地图 11-17 16:50:38.087: E/A ...

  4. 尝试使用Visual studio编写Android程序C++的跨平台开发Android

    说明: 作为Visual studio的老粉丝,从98版追到2013版,至今重新打开熟悉的页面,就像回到了多年前. 早就听说vs可以编写android程序,以前一直没机会,趁现在无事可做,想看看到底现 ...

  5. android程序突然崩溃如何调试,Android应用开发android 调试崩溃Unable to instantiate application的解决方法...

    本文将带你了解Android应用开发android 调试崩溃Unable to instantiate application的解决方法,希望本文对大家学Android有所帮助. 更新后Android ...

  6. android应用程序开发答案,第1章 Android概述--1.2 Android程序【含答案】 Android应用开发基础...

    (1)单选题 1 Android程序启动最先加载AndroidManifest.xml文件,如果有多个Activity,请问()属性决定了Activity最先被加载? A  android.inten ...

  7. Android程序员必看,Android系统面试题

    开头 移动应用开发从逐渐开始火爆到如今也有小十年了,大部分的学校还是没有开放专门的课程. 目前市场上的大部分 Android 开发工程师大多数是自学或者是培训出身,用一段时间上手 Android 开发 ...

  8. android程序中实现打开另一个app

    1.已知要打开的apk的包名 String packetName = "com.onedollar.smartnurse"; Intent intent = getActivity ...

  9. android程序退出时回调,关于android:通过刷卡杀死App时的回调

    我有一个涉及导航的应用程序. 如果用户启动导航,则会创建一种"navigationLifecycleManager".它存储在应用程序实例中,以便在配置更改,活动等之间切换时幸免于 ...

  10. Android程序员 2019,VS 2019开发APP(一)界面和代码

    1.界面 在Resources>layout>目录下的*.xml文件就是界面文件 2.关联界面 接下来,通过将支持代码插入到 MainActivity 类中来添加代码以关联用户界面. 在  ...

最新文章

  1. 【AHOI 2016初中组】 自行车比赛 - 贪心
  2. 牛顿迭代法的可视化详解
  3. python 忽略 异常_如何忽略Python中的异常?
  4. php having,having方法
  5. 玩转oracle 11g(26):误删表数据和误删表回滚
  6. 在linux中挂载磁盘ext3和ext4之间的区别
  7. golang http client 使用gzip_Grpc介绍 — Go-Service To PHP-Client
  8. labview入门系列2
  9. W型加密栅栏密码解密
  10. putty拷贝服务器文件,Windows下拷贝Linux的文件到本地(Putty)
  11. QT自定义控件设置文本过长时显示点点点……
  12. 利用 @media screen 实现网页布局的自适应,@media screen and
  13. 【解决】source ~/.vimrc出错bash: /etc/vim/vimrc: line 21: syntax error near unexpected token `syntax'
  14. 人为什么要学数学 ——数学意义的哲学思考
  15. 各行各业数据及分析研究报告网站参考
  16. 视频号5种提高曝光量的技巧
  17. IIC串行通信总线介绍
  18. Linux主机定期打补丁修复漏洞
  19. 如何用计算机做微积分,利用计算知识搜索引擎WolframAlpha做微积分(快速指南).doc...
  20. 黑客无孔不入:硬盘指示灯和耳机也成漏洞

热门文章

  1. 资料 | 20个必不可少的Python库
  2. JS判断客户端是Android还是iOS
  3. 热点的ap频段哪个快_AP频段2.4和5.0哪个好?有什么区别?
  4. NOI-1.2(04) 填空:类型转换1
  5. 洗车行业可以使用会员管理系统吗?
  6. Apple:万亿收入指日可待
  7. CSS3 霓虹灯文字
  8. Tkinter之pack所有属性详解
  9. JetBrains IDE全新UI预览版来了,要做简洁与强大兼顾的IDE
  10. 解决Realplay和Streambox Ripper冲突的问题