Android Studio生成签名APK失败:资源未找到报错求助
解决方案:Release打包时图标资源找不到问题
排查与修复步骤:
确认资源文件存在且路径正确
检查app/src/main/res/mipmap-*(如mipmap-mdpi、mipmap-hdpi等)目录下,是否存在ic_launcher_nmt.png和ic_launcher_round_new_nmt_round.png文件。Debug模式允许部分密度资源缺失,但Release打包要求引用的资源必须存在。严格核对资源名称拼写
确保Manifest中引用的资源名(ic_launcher_nmt、ic_launcher_round_new_nmt_round)与实际文件名完全一致,包括大小写——Android在Release构建时对文件名大小写敏感,Debug模式可能会忽略此问题。检查Release构建的资源压缩配置
打开app/build.gradle,查看release构建块是否开启了资源压缩且误删了图标:buildTypes { release { shrinkResources true // 若开启此选项,需确保图标未被标记为无用资源 proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } }若开启了
shrinkResources,在res/raw/keep.xml中添加规则保留图标:<?xml version="1.0" encoding="utf-8"?> <resources xmlns:tools="http://schemas.android.com/tools" tools:keep="@mipmap/ic_launcher_nmt,@mipmap/ic_launcher_round_new_nmt_round" />清理缓存并重新构建
执行以下操作彻底清除构建缓存:- 点击Android Studio顶部菜单栏
Build→Clean Project - 再点击
Build→Rebuild Project - 必要时手动删除
app/build和项目根目录下的.gradle文件夹,然后重新构建
- 点击Android Studio顶部菜单栏
检查合并后的Release Manifest
查看报错路径中的packaged_manifests/release/AndroidManifest.xml,确认图标引用是否被第三方库或其他配置覆盖,确保引用的资源名与你的配置一致。
内容的提问来源于stack exchange,提问作者Moeez
相关产品推荐
相关产品推荐

