1import { AndroidConfig, ConfigPlugin, withAndroidManifest } from '@expo/config-plugins'; 2import { ExpoConfig } from '@expo/config-types'; 3 4export const withAndroidManifestIcons: ConfigPlugin = (config) => 5 withAndroidManifest(config, (config) => { 6 config.modResults = setRoundIconManifest(config, config.modResults); 7 return config; 8 }); 9 10export function setRoundIconManifest( 11 config: Pick<ExpoConfig, 'android'>, 12 manifest: AndroidConfig.Manifest.AndroidManifest 13): AndroidConfig.Manifest.AndroidManifest { 14 const isAdaptive = !!config.android?.adaptiveIcon; 15 const application = AndroidConfig.Manifest.getMainApplicationOrThrow(manifest); 16 17 if (isAdaptive) { 18 application.$['android:roundIcon'] = '@mipmap/ic_launcher_round'; 19 } else { 20 delete application.$['android:roundIcon']; 21 } 22 return manifest; 23} 24