在 Android 构建过程中,Gradle 会进行 Manifest Merge(清单合并):
1.它会把 src/main(主代码集)和 src/launcher(你当前的编译变体)里的两个 AndroidManifest.xml 合并成一个。
2.如果 src/main 的清单里给 MainActivity 配置了 LAUNCHER,而 src/launcher 的清单里又给 MainEntryActivity 配置了 LAUNCHER,合并后的最终文件里就会有两个入口。
3.Android 系统读取到两个入口,自然就会在桌面上生成两个图标。你删除了 src/main 里的 LAUNCHER 配置,使得合并后的清单只剩下一个真正的入口,图标也就恢复正常了。