1.8 KiB
DevelopmentBuildGuide
This project uses an Expo development build for features that are not fully supported in Expo Go, such as our notification setup.
WhyWeUseThis
We do not use Expo Go for this project when testing notifications or other native features.
Reason:
- Expo Go has limitations for some native modules
expo-notificationson Android requires a development build for reliable testing- a development build works like a custom Expo Go app made specifically for this project
#ImportantRule
You do not need to rebuild the APK for every code change.
Rebuild is not needed for:
- changing React components
- changing screen layouts
- changing styles
- changing Supabase queries
- changing JS/TS functions
- changing form logic
- changing routing logic
- changing notification scheduling logic in JavaScript only
Rebuild is needed for:
- adding a new native dependency
- removing a native dependency
- changing
app.json - changing Expo plugins
- changing Android/iOS permissions
- changing native notification config
- anything that affects the native app shell
OneTimeSetup
Install EAS CLI globally if needed: npm install -g eas-cli
Log in to Expo: eas login
Install the Expo development client in the project: npx expo install expo-dev-client
BuildTheDevelopmentAPK
Run this command from the project root: eas build --platform android --profile development
This sends the build to Expo's cloud build service.
When the build is finished:
open the build link click Install install the APK on your Android phone or emulator Do not place the APK inside the project folder. The APK is something you install on the device, not a source file.
DailyWorkflow
After the development build APK is installed:
Start the project: npx expo start