Everything a launcher shows about the app comes from app.json, and prebuild writes each field into the native project: name becomes the launcher label, version the versionName (CFBundleShortVersionString on iOS), android.versionCode and ios.buildNumber the build numbers, and android.package and ios.bundleIdentifier the application ID and bundle ID.
The identifiers are permanent: every update must keep them. BookNest still has com.anonymous.booknest, the placeholder create-expo-app filled in (Scaffolding BookNest); replace it with a reverse domain you own before the first upload (Versions and App IDs). The store release is named BookNest, version 1.1.0 with version code 2, and gets its own artwork, a white open book on the chapter's #1565c0 blue:
"icon": "./assets/icon.png",
"android": {
"adaptiveIcon": {
"backgroundColor": "#1565c0",
"foregroundImage": "./assets/android-icon-foreground.png",
"backgroundImage": "./assets/android-icon-background.png",
"monochromeImage": "./assets/android-icon-monochrome.png"
}
},icon is a 1024 x 1024 PNG without transparency, because iOS applies its own mask. The adaptive foreground is the same size but transparent, with the artwork inside the central circle that every launcher mask keeps, about 61% of the width; the monochrome layer serves Android 13's themed icons. From these PNGs prebuild generated 25 launcher WebP files in five densities, and the splash screen plugin of Splash Screens and App Icons (with #1565c0 behind the same book) five splash drawables.