我正在尝试生成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
的先前版本迁移而来,并且在debug
和release
的构建中均能完美运行;这个问题专门与在使用当前设置的release
构建中缺少图标有关。请相应地限制评论。
答案 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)
res
和src/main
中的src/release
文件夹包含两个文件:
- ic_launcher_foreground.xml
- ic_launcher_background.xml
还有一个drawable
文件夹,其中重复了相同的两个文件。只需删除这些文件(总共4个位置的8个文件)并强制应用回退到各个.png
文件夹中指定的mipmap
文件,图标即可在两个debug
中正确显示和release
构建。