BowlerKitBowlerKit

Rename Package & App Name

10/11/2026

Safely change the Expo display name, slug, native identifiers, and deep-link scheme.

The generated Expo project uses mobile-app/app.config.ts as the native configuration source. It is not an app.json file.

Changing a bundle identifier or package name creates a new App Store/Play identity and breaks links to existing Firebase, EAS, and store credentials. Plan a migration before changing a published app.

Update app.config.ts

Edit the values in the exported config:

name: 'Your App Name',
slug: 'your-app-slug',
scheme: 'yourapp',
ios: {
  bundleIdentifier: 'com.example.yourapp',
},
android: {
  package: 'com.example.yourapp',
},

The current template identifiers are com.soewidiputra.exonlate.mobile for both platforms and exonlate for the scheme. Update the permission text in the config/plugins when it still contains the old display name.

The package.json name (expolate) is a JavaScript package label and may be renamed separately; it does not replace native identifiers.

Update EAS and update services

app.config.ts contains the EAS project ID and Updates URL in extra.eas/updates. For a new EAS project:

eas project:init

Then review the generated EAS project ID, update URL, eas.json profiles, and environment values. Never ship the template's demo API URL in a production profile.

Regenerate native projects

From mobile-app/:

pnpm prebuild:clean
pnpm android       # or pnpm ios on macOS

Commit or back up native changes first: prebuild:clean removes and regenerates android/ and ios/.

Update external services

After changing identifiers or scheme:

  1. Register new Android/iOS apps in Firebase and replace both service files.
  2. Update Google Sign-In client configuration and EXPO_PUBLIC_GOOGLE_WEB_CLIENT_ID as needed.
  3. Update Apple Sign-In capabilities/Service IDs for the new bundle identity.
  4. Reconfigure RevenueCat app/store products and public SDK keys if the app identity changed.
  5. Update AdMob app IDs and banner IDs.
  6. Update backend verification/reset links to use yourapp://link?destination=....
  7. Reissue EAS credentials and store signing configuration where required.

The app's allowlisted entry point is /link:

yourapp://link?destination=reset-password&token=...&email=...

See Deep Links before changing backend URLs.