如何获取到一个app里所使用的所有图标icon等资源文件

今天遇到一个问题,同事想要我们开发的app里所使用的所有图标,icon资源文件。

app不仅结构复杂,目录众多,而且还存在使用SDK的情况,想要一下获取到所有的图标,icon资源,确实需要想想办法。

思考的出发点就是android打包生成的apk文件。

打包时会把所有资源进行汇总整合,所以apk文件一定是把资源整理好了放在统一的地方。

根据这个思路去寻找解析apk文件的方法。

方法有二

其一

使用解压缩文件,解压缩apk文件。会得到一个目录,在res目录下寻找资源即可。

这种方法可以得到webp, png等常规图片格式的资源文件,但是对于矢量图svg导入生成的xml文件则会打开出现乱码。

其二

使用ApkTool反编译apk文件。

这个是更好的方法,至于如何安装使用ApkTool请参考如下文章。

android反编译

按照文章配置好环境后,就可以使用反编译工具ApkTool进行反编译了。

在apktool所在目录下执行命令 apktool d target.apk (其他目录没试过,不知道是不是全局配置了环境变量都可以使用)

反编译后会得到一个与apk同名的目录,里面有res目录可以查看资源文件,从而获取到所有使用的图标及icon。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,那么在笔记记录app的xml文件中,您可以按照以下步骤添加菜单: 1. 在xml文件中找到菜单根节点,通常是`<menu>`标签。 2. 在菜单根节点下添加菜单项,每个菜单项使用`<item>`标签表示。 3. 在菜单项中设置属性,如菜单项的id、标题、图标等。 4. 如果需要添加子菜单,可以在菜单项下添加子菜单,子菜单也是一个菜单根节点,使用`<menu>`标签表示。 5. 在代码中找到对应的菜单资源并加载,可以使用`MenuInflater`类的`inflate()`方法来加载菜单资源。 下面是一个简单的示例代码,可以让您更好地理解如何在xml文件中添加菜单: ```xml <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/menu_new_note" android:title="新建笔记" android:icon="@drawable/ic_new_note" /> <item android:id="@+id/menu_search" android:title="搜索" android:icon="@drawable/ic_search" /> <item android:id="@+id/menu_settings" android:title="设置" android:icon="@drawable/ic_settings"> <menu> <item android:id="@+id/menu_theme" android:title="主题" android:icon="@drawable/ic_theme" /> <item android:id="@+id/menu_font_size" android:title="字体大小" android:icon="@drawable/ic_font_size" /> </menu> </item> </menu> ``` 在代码中加载该菜单资源的示例代码: ```java @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.note_menu, menu); return true; } ``` 注意,这的`note_menu`是您在xml文件中定义的菜单资源文件名,如果您的菜单资源文件名不同,需要修改为对应的文件名。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值