App Deployment
Newly handles the entire app deployment process, from building your app to submitting it to the App Store and Play Store.Deployment Options
APK (Android)
Android installable file for testing and side-loading
AAB (Android)
Android App Bundle for Google Play Store submission
iOS Build
iOS build for App Store submission
Backend Deploy
Push backend changes to production
Building for Android
The Deploy modal offers four Android targets:Google Play Setup
Creating a Play Developer account, connecting Play Console, and choosing release tracks.
APK Build (Testing)
APK files let you install your app directly on Android devices:1
Open Deploy Modal
Click More → Deploy App in the project header
2
Select APK
Choose “Build APK” option
3
Configure
Set your app name and icon if not already configured
4
Build
Click Build and wait for compilation (5-10 minutes)
5
Download
Download the APK file when ready
6
Install on your device
Transfer the
.apk to your Android device (email, Drive, or a direct download link) and tap it.Android will ask you to allow installs from this source the first time — this is normal for any app not installed from the Play Store. Approve it in the prompt, or under Settings → Apps → Special access → Install unknown apps.You may also see a Play Protect warning saying the app wasn’t recognized. Tap More details → Install anyway. It appears because the app hasn’t been scanned by Google, not because anything is wrong with your build.APKs can be shared with testers directly without going through the Play Store. APK builds don’t require a signing key — only AAB builds do.
AAB Build (Play Store)
Google Play requires an Android App Bundle (.aab), not an APK. You’ll need a Google Play Developer account ($25 one-time).
The AAB target is a four-step wizard:
1
Enter Bundle Identifier
Your package name, in the format
com.companyname.appname.2
Set App Version
Set the version name (e.g.
1.0.0) and version code (an integer). Newly shows your last successful build and pre-fills the next version for you — a patch bump and a version code one higher.Every upload to Google Play needs a version code higher than the previous one, and codes can never be reused.3
Generate & Download Your Signing Key
Newly generates the release key Google Play requires, then asks you to download two files —
release-keystore.p12 and keystore-credentials.txt. You cannot continue until both are saved.On later builds this step instead offers Use Existing Key (what you want) or Generate New Key.4
Build
Newly builds and signs your app. When it finishes, download the
.aab and upload it to Google Play Console.Android Signing Keys
What the signing key is, how to store it, and what to do if you lose it.
Building for iOS
iOS builds require an Apple Developer Account ($99/year):1
Apple Developer Account
Ensure you have an active Apple Developer Account
2
Select iOS Build
Choose “Build for iOS” in the Deploy modal
3
Expo Launch
- Migrate to Github
- Make the Repo public
- Copy the Repo link
- Open Expo Launch and paste the Repo link
4
Enter Credentials
Provide your Apple Developer credentials:
- Apple ID
- App-specific password (generate in Apple ID settings)
5
Configure App
- App name
- Bundle identifier (e.g.,
com.yourname.appname) - Version number
6
Build & Submit
Newly builds and submits to App Store Connect
Creating App-Specific Password
For iOS builds, you need an app-specific password:- Go to appleid.apple.com
- Sign in with your Apple ID
- Navigate to Security → App-Specific Passwords
- Click “Generate Password”
- Name it “Newly” and save the generated password
Apps That Need Special Entitlements
If your app uses a gated capability — Family Controls (Screen Time), Critical Alerts, CarPlay, clinical Health Records, or Android restricted permissions like background location — you must apply for approval before submitting, or the store will reject it.Permissions & Entitlements
How to request entitlements from Apple and declare restricted permissions on Google Play.
App Configuration
Before building, configure your app settings:App Name & Icon
- In Newly
- Via AI
- Click More → Project Settings
- Update app name
- Upload app icon (1024x1024 recommended)
App Icon Requirements
Backend Deployment
If your app uses Liquid Backend:1
Open Deploy Modal
Click More → Deploy App
2
Backend Section
Look for the “Backend” section in the modal
3
Push to Production
Click “Push to Production” to deploy backend changes
4
Verify
Production URL is shown when deployment completes
Deploying pushes your backend code and schema to production, not your dev data. Records created in dev stay in dev. See Dev and production data.
GitHub Integration
Connect GitHub for automatic code sync:- Click More → GitHub in the burger menu
- Authorize Newly to access GitHub
- Create a new repository or select existing
- Code syncs on each commit
- Full version control
- Collaborate with other developers
- Deploy to custom infrastructure
- Code backup and portability
GitHub Integration
Learn more about GitHub setup
Testing Before Submission
Before submitting to app stores:Test on Real Devices
Test on Real Devices
- Download APK and test on Android phone
- Use TestFlight for iOS testing
- Try different screen sizes
Check All Features
Check All Features
- Test authentication flows
- Verify data persistence
- Check offline behavior
- Test payments (if applicable)
Review App Store Guidelines
Review App Store Guidelines
App Store Submission Tips
Apple App Store
- Screenshots: Required for each device size
- Description: Clear, accurate app description
- Privacy Policy: Required for all apps
- Age Rating: Answer questionnaire accurately
- Review Notes: Provide demo account if login required
Google Play Store
- Screenshots: At least 2, up to 8
- Feature Graphic: 1024x500 banner image
- Privacy Policy: Link required
- Content Rating: Complete questionnaire
- Target Audience: Specify correctly
Troubleshooting Builds
Build Fails
iOS Build Errors
iOS Build Errors
- Verify Apple ID and password are correct
- Check app-specific password is valid
- Ensure bundle ID is unique
- Review build logs for specific errors
Android Build Errors
Android Build Errors
- Check package name format (
com.companyname.appname) - Verify the version code is higher than your previous upload — codes can never be reused
- Review Gradle/dependency errors in the Logs panel → Build Logs. Paste the line containing
FAILEDorerror:into the chat and the AI can usually fix it — see Using logs to debug
Play Console rejects the upload
Play Console rejects the upload
- “Not signed with the correct key” — the build used a different signing key than your first release. Rebuild with Use Existing Key on step 3. See Android Signing Keys
- “Version code already used” — bump the version code on step 2 and rebuild
- APK not accepted — Play Store releases require an AAB, not an APK
Generic Errors
Generic Errors
- Try building again (transient issues)
- Clear build cache if available
- Contact support via Discord
Let Newly fix the build for you
Let Newly fix the build for you
When an Android or iOS build fails, Newly analyzes the build log and offers a one-click fix in the chat panel — no digging through Gradle output. If the offer doesn’t appear, open the Logs panel → Build Logs, copy the line containing
FAILED or error:, and paste it into the chat with one line of context.App Rejection
If your app is rejected from stores:- Read the rejection reason carefully
- Ask AI to help fix the issue
- Rebuild and resubmit
- Respond to reviewer if needed
- Crashes or bugs
- Incomplete functionality
- Misleading metadata
- Privacy policy issues
- Guideline violations
Next Steps
Android Signing Keys
Generate and safeguard your Google Play release key
Google Play Setup
Play Developer account, Play Console connection, release tracks
GitHub Integration
Set up code syncing with GitHub
RevenueCat Payments
Add in-app purchases and subscriptions
Permissions & Entitlements
Apply for gated Apple entitlements and Android permissions