应用安装在 Android 系统中后 , 普通应用 会安装到 /data/app/ 目录下 ;
如果是系统应用 , 会安装在 /system/app/ 目录下 ;
此外 , 还会在 /data/data/package.name/ 目录下生成该应用的对应目录 , 这是应用的内存存储空间 , 应用拥有该目录下的所有权限 , 存放应用运行时所需的数据 ;
如果系统是定制的 , 可能应用安装目录不是上述路径 , 这时可以使用下面的方法查找 Android 应用的安装目录 ;
使用
dumpsys activity top | grep pid
命令 , 查询当前正在运行的应用的包名 ;
命令行输出 :
255|walleye:/system/app # dumpsys activity top | grep pid
ACTIVITY com.xunmeng.pinduoduo/.login.LoginActivity 9ca177f pid=19308
ACTIVITY com.google.android.gm/.welcome.WelcomeTourActivity 12cb647 pid=17256
ACTIVITY com.tencent.android.qqdownloader/com.tencent.pangu.module.desktopwin.nonpermission.NonPermissionMainActivity ccab018 pid=3229
ACTIVITY com.tencent.mm/.ui.LauncherUI 5abb31c pid=(not running)
ACTIVITY com.qidian.QDReader/.ui.activity.QDReaderActivity 6c25868 pid=23499
ACTIVITY com.google.android.apps.nexuslauncher/.NexusLauncherActivity c848feb pid=3004
walleye:/system/app #
上面查询的正在运行的应用中 , 查询起点中文网的应用包名 ;
ACTIVITY com.qidian.QDReader/.ui.activity.QDReaderActivity 6c25868 pid=23499
其包名是 com.qidian.QDReader
;
执行
pm list package -f com.qidian.QDReader
命令 , 查询 com.qidian.QDReader
包名对应应用的安装地址 ;
查询结果是 /data/app/com.qidian.QDReader-GTqLCxuMlq6CJtnOVz1LgQ==/base.apk=com.qidian.QDReader
, 等号左边是应用安装地址 , 应用安装地址是 /data/app/com.qidian.QDReader-GTqLCxuMlq6CJtnOVz1LgQ==/base.apk
, 等号后面是包名 com.qidian.QDReader
;
应用的安装目录是 /data/app/com.qidian.QDReader-GTqLCxuMlq6CJtnOVz1LgQ==/
;
255|walleye:/system/app # pm list package -f com.qidian.QDReader
package:/data/app/com.qidian.QDReader-GTqLCxuMlq6CJtnOVz1LgQ==/base.apk=com.qidian.QDReader
walleye:/system/app #
pm list package -f
命令 , 如果不带包名 , 会列出所有的应用的安装地址 , 包括系统应用和用户应用 ;