APK中添加的自定义图标无ID,如何添加ID或在XML中引用?
解决APK添加自定义图标后无ID无法引用的问题
方法一:让MT管理器自动分配资源ID(最稳妥)
直接复制图片到APK的res目录不会自动注册资源ID,得用MT的资源添加功能:
- 打开MT管理器,找到目标APK,进入「查看」模式
- 导航到对应分辨率的资源目录(比如
res/mipmap-xxhdpi-v4),点击底部「添加」按钮,选择你的图标文件,命名成符合Android规范的文件名(比如ic_launcher_custom.png) - 返回APK根目录,点击右上角三点,选择「签名优化」,等待处理完成
- 此时图片已被纳入资源索引,自动分配了ID,你可以在XML里用
@mipmap/ic_launcher_custom直接引用
方法二:手动修改资源索引文件(适合进阶操作)
如果不想重新优化APK,可以手动修改resources.arsc来注册ID:
- 在MT管理器的APK查看模式下,找到
resources.arsc,长按选择「编辑资源」 - 切换到「mipmap」分类,点击「添加资源」,选择你已放入res目录的图片,填写名称后保存
- 保存后退出编辑,重新签名APK即可,之后就能用
@mipmap/[你填的名称]引用
为什么直接用路径引用无效?
APK里的资源引用依赖resources.arsc里的ID映射,直接复制的图片没有在这个文件里注册,系统无法识别你输入的路径对应的资源,所以必须先完成资源注册。
内容的提问来源于stack exchange,提问作者Xien
相关产品推荐
相关产品推荐

