Framework guides
React Native & Expo
1 min read
Lunadeck supports building React Native apps using both Expo and bare React Native workflows.
Expo projects
For Expo-managed projects, Lunadeck handles the entire build process:
- Detects your
app.jsonorapp.config.js - Runs
expo prebuildto generate native projects - Compiles the Android APK using Gradle
Requirements
- Expo SDK 49 or later
- A valid
app.jsonwithandroid.packageconfigured
Example app.json
{
"expo": {
"name": "My App",
"slug": "my-app",
"android": {
"package": "com.mycompany.myapp"
}
}
}Bare React Native
For bare React Native projects (without Expo):
- Ensure the
android/directory is present - Lunadeck will run your build script and compile the APK
- All native dependencies should be linked
Requirements
- React Native 0.72 or later
- An
android/directory with a valid Gradle configuration
Common issues
- Missing native modules — Ensure all native dependencies are properly linked
- Gradle version mismatch — Lunadeck uses Gradle 8.x by default
- SDK version conflicts — Check that your
compileSdkVersionmatches a supported version