首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从apk文件中提取应用程序图标

从apk文件中提取应用程序图标
EN

Stack Overflow用户
提问于 2012-09-28 12:49:39
回答 8查看 44.4K关注 0票数 10

我需要从apk文件中提取应用程序图标。我只需要一个图标,我不想把其他的东西都提取出来。这些文件很容易获得,但我如何确定哪个图标文件是正确的应用程序图标。我猜这是存储在资源表中的?所以我想我需要的实际上是读取资源表,我希望从资源表中我可以确定图标文件的名称,然后我可以从应用程序中提取。

我需要一个简单的工具,我知道apktool可以提取整个apk文件,但这不是我想要的。

  • 它做了很多我不需要的东西(解压缩,解压缩其他文件等等)。
  • 它需要很长时间才能运行。

还有其他工具可以用来获取图标文件路径吗?

感谢您的所有建议。

编辑:为了澄清,我不是试图在设备上这样做。我试着在电脑上做这件事。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2013-01-23 16:48:31

aapt工具附带了Android,在platform-tools下可以找到它,它会给您提供所需的详细信息。带有aapt的apktool船舶

aapt d --values badging payload.apk

使用此输出,您可以从apk (即zip文件)中提取图标文件。

票数 13
EN

Stack Overflow用户

发布于 2013-01-23 15:58:34

  • 将.apk文件重命名为.zip
  • 用像7zip这样的工具解压缩
  • 在:/res/drawable-hdpi/icon.png下面找到作为png文件的图标

编辑:注意,这个文件并不存在于所有apk文件中,而是存在于其中的大多数文件中。除了提取所有.png文件并从列表中选择一个之外,我找不到更好的解决方案。

票数 11
EN

Stack Overflow用户

发布于 2014-02-19 13:35:53

代码语言:javascript
运行
复制
//if your apk is not installed ..only having .apk on sdcard   
  String APKFilePath = "mnt/sdcard/myapkfile.apk"; //For example...
     PackageManager pm = getPackageManager();
     PackageInfo    pi = pm.getPackageArchiveInfo(APKFilePath, 0);

    // the secret are these two lines....
     pi.applicationInfo.sourceDir       = APKFilePath;
     pi.applicationInfo.publicSourceDir = APKFilePath;
    //

   Drawable APKicon = pi.applicationInfo.loadIcon(pm);
   String   AppName = (String)pi.applicationInfo.loadLabel(pm);

您可以参考此链接。

Get-apk图标

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12640359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档