React Native配置FCM后aapt执行失败,资源找不到报错求助
解决React Native FCM配置后AAPT构建失败及资源错误问题
咱们先聚焦导致构建失败的核心错误——找不到@mipmap/ic_notif资源,这个是让processDebugResources任务失败的关键,警告只是次要问题:
一、修复「找不到@mipmap/ic_notif」资源错误
你的AndroidManifest.xml里引用了通知图标@mipmap/ic_notif,但项目中并没有这个资源文件,所以AAPT抛出了致命错误。解决方法分两种情况:
- 如果你已经准备好合适的通知图标:
- 按照Android图标规范,准备对应尺寸的图标(mdpi 24×24、hdpi 36×36、xhdpi 48×48、xxhdpi 72×72、xxxhdpi 96×96,建议用透明背景的单色图标);
- 将对应尺寸的图标分别放入
android/app/src/main/res/mipmap-xxx系列文件夹中,统一命名为ic_notif.png。
- 如果你暂时没有合适的图标,先临时用默认应用图标替代:
打开AndroidManifest.xml,把引用@mipmap/ic_notif的代码替换成@mipmap/ic_launcher(项目默认的应用图标),先让构建通过,之后再换成正式的通知图标即可。
二、处理Instabug相关的翻译警告
这些警告不会导致构建失败,但可以优化解决,让构建日志更干净:
- 「字符串被标记为不可翻译但存在于zh-CN区域」警告:
这些字符串在默认的values/strings.xml里被设置了translatable="false",但你又在values-zh-rCN/values-zh-rCN.xml中添加了中文翻译,导致AAPT触发冲突警告。你可以二选一处理:- 删除
values-zh-rCN/values-zh-rCN.xml里那些标记为不可翻译的字符串条目; - 打开
values/strings.xml,把对应字符串的translatable="false"属性修改为true,允许该字符串被翻译。
- 删除
- 「instabug_str_record_audio没有默认翻译」警告:
打开values/strings.xml,添加这个字符串的默认英文翻译:<string name="instabug_str_record_audio">Record Audio</string>
三、重新构建项目
完成上述修改后,执行以下命令重新启动构建流程:
gradlew clean npm install react-native run-android
内容的提问来源于stack exchange,提问作者Ankush Rana
相关产品推荐
相关产品推荐

