You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android系统中如何获取已安装应用图标?含存储路径与adb方法咨询

关于Android已安装APK图标存储与ADB相关问题的解答

APK图标的存储位置

  • 系统应用图标:嵌入在/system/app/或/system/priv-app/目录下的对应APK包内,具体位于APK中的res/drawable-xxx/或mipmap-xxx/子目录(xxx代表分辨率标识,如hdpi、xhdpi)
  • 用户第三方应用图标:同样嵌入在APK包内,APK文件默认存储在/data/app/目录下(Android 8.0及以上版本路径可能为/data/app/~~[随机字符串]/),图标资源在APK的res/drawable-xxx/或mipmap-xxx/目录中
  • 注意:Android系统不会将应用图标单独提取到独立文件夹,而是直接读取APK包内的资源文件

通过ADB获取已安装APK的图标

可以通过以下几种方式实现:

  1. 先获取目标应用包名:
    adb shell pm list packages | grep [应用关键词]
    
  2. 导出APK到本地后提取图标:
    • 执行adb shell pm path [包名]获取APK的绝对路径
    • 用adb pull [APK路径] 本地保存路径将APK导出到电脑
    • 用解压工具打开APK,直接提取res/drawable-xxx/或mipmap-xxx/下的图标文件(通常命名为ic_launcher开头的png/webp格式文件)
  3. 直接通过ADB命令提取图标到SD卡(需应用具备存储权限):
    # 指定分辨率提取图标,480对应xhdpi,可替换为160(mdpi)、240(hdpi)、640(xxhdpi)等
    adb shell am broadcast -a com.android.launcher3.action.GET_ICON --es package [包名] --ei density 480
    # 将提取的图标拉到本地
    adb pull /sdcard/Android/data/com.android.launcher3/files/icons/[包名].png 本地路径
    

ADB读取应用目录权限不足的解决方法

权限不足多因Android 10+的存储权限限制、目标应用为系统应用或采用私有目录导致,可尝试以下方案:

  • 针对debug签名的应用:使用adb shell run-as [包名]命令进入应用私有目录,即可读取内部文件
  • 授予存储权限:执行adb shell pm grant [包名] android.permission.READ_EXTERNAL_STORAGE,部分场景需额外授予WRITE_EXTERNAL_STORAGE权限
  • Android 11+ Scoped Storage适配:执行adb shell appops set [包名] MANAGE_EXTERNAL_STORAGE allow获取全局存储访问权限
  • 访问系统应用目录:需先root设备,再执行adb root和adb remount命令挂载系统分区为可读写状态,之后即可访问/system/app/等系统目录

内容的提问来源于stack exchange,提问作者Balu Gour

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 10:45:34