React Native 0.60-发行包/构建缺少ic_launcher_round

时间:2019-09-03 16:05:19

标签: android react-native release

我正在尝试生成release项目的react-native构建,并且遇到了ic_launcher_round.png未被包含的问题;它只是显示默认的android

我有以下图标:

android/app/src/main/res

- mipmap-hdpi
  - ic_launcher.png
  - ic_launcher_round.png
- mipmap-mdpi
  - ic_launcher.png
  - ic_launcher_round.png
- mipmap-xhdpi
  - ic_launcher.png
  - ic_launcher_round.png
- mipmap-xxhdpi
  - ic_launcher.png
  - ic_launcher_round.png
- mipmap-xxxhdpi
  - ic_launcher.png
  - ic_launcher_round.png

我还对AndroidManifest.xml中指定的图标进行了四舍五入:

<application
  android:icon="@mipmap/ic_launcher"
  android:roundIcon="@mipmap/ic_launcher_round"
>
  ...
</application>

当我运行react-native run-android时,其中包含ic_launcher_round,并且可以看到我的自定义图标显示在设备上。按照react-native中的步骤来创建release构建:

cd android
./gradlew bundleRelease
cd .. && react-native run-android --variant=release

这成功地将.apk文件捆绑,生成并安装到我的手机上,但没有正确的图标;它显示默认的android。

有人看过这个问题吗?我似乎无法在Google上找到一种解决方案来处理这个新的构建过程(对于react-native 0.60,使用./gradlew bundleRelease而不是react-native bundle./gradlew assembleRelease

编辑:代码和所有插件均已从react-native的先前版本迁移而来,并且在debugrelease的构建中均能完美运行;这个问题专门与在使用当前设置的release构建中缺少图标有关。请相应地限制评论。

2 个答案:

答案 0 :(得分:0)

将ic_launcher.png和ic_launcher_round.png重命名为 my_ic_launcher.png

更改清单:

<application
      android:name=".MainApplication"
      android:label="@string/app_name"
      android:icon="@mipmap/my_ic_launcher"
      android:roundIcon="@mipmap/my_ic_launcher_round"
>

清理并构建。

答案 1 :(得分:0)

ressrc/main中的src/release文件夹包含两个文件:

- ic_launcher_foreground.xml
- ic_launcher_background.xml

还有一个drawable文件夹,其中重复了相同的两个文件。只需删除这些文件(总共4个位置的8个文件)并强制应用回退到各个.png文件夹中指定的mipmap文件,图标即可在两个debug中正确显示和release构建。