New Project Setup from Template
1. Prepare the Project
Copy the template files to your new project.
rsync -av --progress \
--exclude='node_modules' \
--exclude='.git' \
--exclude='.expo' \
--exclude='eas.json' \
--exclude='.env' \
--exclude='google-services.json' \
--exclude='services.json' \
--exclude='android' \
--exclude='ios' \
/path/to/template/ /path/to/new-project/
Then restore dependencies and set up your environment:
npm install # restore node_modules
cp .env # then fill in your real values
Then open app.json and update the following fields:
nameslugpackage(underandroid)scheme
Also delete only the projectId from the extra.eas block — leave everything else intact.
2. Initialize Git
git init && git add . && git commit -m "Initial commit"
3. Configure EAS
eas build:configure
This creates the eas.json file. Then run:
eas init
This generates and injects a fresh projectId into your app.json.
4. Set Up Android Keystore & Get SHA-1
eas credentials
Navigate: Android → development → Keystore → Generate new keystore
Once generated, note the SHA-1 fingerprint — you'll need it for Google OAuth.
Alternatively, see Custom Debug Keystore for managing a local debug keystore outside of EAS.
5. Register SHA-1 in Google Cloud Console
- Go to https://console.cloud.google.com
- Select your project
- Navigate to APIs & Services → Credentials
- Open your OAuth 2.0 Client ID (Android)
- Add the SHA-1 fingerprint from Step 4
6. Push Notifications (FCM) — Only if needed
6a. Create a Firebase Project
- Go to https://console.firebase.google.com
- Create a new project and complete the setup
6b. Generate a Private Key
- In Firebase, go to Settings → Service Accounts
- Click Generate new private key
- Download the JSON file
6c. Link the Private Key to EAS
Follow the instructions at https://docs.expo.dev/push-notifications/fcm-credentials/, then run:
eas credentials
Navigate: Android → development → Google Service Account → Push Notifications → link the downloaded JSON file
6d. Link Firebase to Your App
- In your Firebase project, click Add app → Android
- Follow the setup steps and download the
google-services.jsonfile - Place
google-services.jsonat the root of your project folder - In
app.json, link it under theandroidblock:
{
"android": {
"googleServicesFile": "./google-services.json"
}
}
That's the complete flow for every new project spun up from the template.