Skip to main content

Native builds

For Expo Go, you do not need native folders. For custom native code, store builds, or running without Expo Go, generate native projects with prebuild.

Generate native projects​

npx expo prebuild

Clean regeneration (deletes and recreates ios/ and android/):

npx expo prebuild --clean
caution

android/ and ios/ are in .gitignore. Regenerate after cloning or when Expo config plugins change.

Run on device / emulator​

npm run android # expo run:android
npm run ios # expo run:ios

Android​

SettingValue
Package namecom.mobitrendz.expomobiletemplate
Cleartext HTTPEnabled (local dev)
Edge-to-edgeEnabled
Adaptive icon background#2563eb

Gradle / Node.js​

Android Studio may not inherit your shell PATH. If Gradle cannot find node:

Option 1 — Add to android/gradle.properties:

nodeExecutable=/opt/homebrew/bin/node

Use your actual Node path (which node).

Option 2 — Launch Android Studio from a terminal:

open -a "Android Studio"

Autolinking​

If you see Autolinking is not set up in settings.gradle, ensure android/settings.gradle includes the Expo autolinking setup from the official Expo SDK 54 template. Run npx expo prebuild to regenerate if needed.

iOS​

SettingValue
Bundle identifiercom.anonymous.expomobiletemplate
Local networkingNSAllowsLocalNetworking enabled

Requires macOS and Xcode for simulator and device builds.

Expo config plugins​

app.json registers:

"plugins": [
"@react-native-community/datetimepicker"
]

Required for native date picker support on both platforms.

Hermes and New Architecture​

Expo SDK 54 enables Hermes and the New Architecture by default in generated native projects.

Aligning native module versions​

Always use Expo's installer to match SDK versions:

npx expo install <package-name>

Example: expo-constants must be ~18.x on SDK 54 — not 55.x.