Android Studio生成签名Bundle失败:资源链接错误求助
解决Release打包时Android资源链接失败(找不到mipmap图标)的问题
针对你遇到的Release版本构建时找不到mipmap/ic_launcher和mipmap/ic_launcher_round资源、但Debug正常的问题,给你几个直接的解决方向:
1. 检查资源文件是否完整覆盖所有密度目录
- 打开
app/src/main/res/目录,确认所有mipmap-xxxdpi(如mipmap-mdpi、mipmap-hdpi等)文件夹下,都存在ic_launcher.png和ic_launcher_round.png文件。 - Debug模式可能会自动 fallback 到其他密度资源,或使用了
src/debug/res下的图标,但Release构建只会加载src/main/res或src/release/res里的资源,缺文件就会报错。 - 如果图标缺失,直接复制现有图标到对应目录,或通过
File -> New -> Image Asset重新生成启动图标,生成时确保勾选所有密度选项。
2. 排查build.gradle的Release构建配置
- 打开Module级别的
build.gradle文件,检查release构建类型里是否有资源过滤规则,导致图标被排除:buildTypes { release { // 检查是否有类似以下的配置,误排除了mipmap资源 // resConfigs "zh-rCN" // 若只保留特定语言不影响图标,但其他过滤规则需注意 // 或是否使用resourceFilter排除了png文件 } } - 若存在不必要的资源排除规则,直接删除,确保Release构建能正常访问mipmap资源。
3. 清理构建缓存并重建项目
- 点击Android Studio顶部菜单
File -> Invalidate Caches...,选择Invalidate and Restart,彻底清除旧的构建缓存。 - 重启后执行
Build -> Clean Project,再执行Build -> Rebuild Project,重新生成Release构建的中间文件,避免缓存导致的资源引用异常。
4. 确认Manifest中的资源引用正确性
- 检查
AndroidManifest.xml里的android:icon和android:roundIcon属性,确认引用路径拼写正确(比如没有把mipmap写成drawable)。 - 若自定义了图标文件名,要确保引用的文件名和实际文件完全一致(区分大小写)。
附你提供的错误信息和Manifest片段:
Android resource linking failed
C:\Users\user\AndroidStudioProjects\Door\app\build\intermediates\packaged_manifests\release\AndroidManifest.xml:22: error: resource mipmap/ic_launcher (aka com.example.door:mipmap/ic_launcher) not found.
C:\Users\user\AndroidStudioProjects\Door\app\build\intermediates\packaged_manifests\release\AndroidManifest.xml:22: error: resource mipmap/ic_launcher_round (aka com.example.door:mipmap/ic_launcher_round) not found.
error: failed processing manifest.
Manifest代码片段:
... <application android:allowBackup="true" <!--删除这两行后构建成功--> android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" android:label="@string/app_name" android:requestLegacyExternalStorage="true" android:supportsRtl="true" android:theme="@style/Theme.Door"> ...
内容的提问来源于stack exchange,提问作者Mawon
相关产品推荐
相关产品推荐

