Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save minanagehsalalma/6a60a845b012d81d0e81a8d645fb62ca to your computer and use it in GitHub Desktop.

Select an option

Save minanagehsalalma/6a60a845b012d81d0e81a8d645fb62ca to your computer and use it in GitHub Desktop.
Create Offline APK from Replit app mobile app builder

Replit → Installable Android App (APK) with Expo EAS (No Play Store)

This guide turns your Replit Expo project into a real installable Android app (APK) you can sideload (install directly) without using Expo Go or publishing to the Play Store.


What you’re doing (quick concept)

  • Expo Go + QR = runs your app inside the Expo Go container and usually needs an internet/dev server.
  • EAS Build (internal distribution) = produces a standalone APK you can install like a normal app.

Prerequisites

  • An Expo/Expo.dev account (free is fine)
  • Your project runs in Replit already

Step 1 — Configure EAS in your Replit project

In Replit Shell

image image

run:

npx eas-cli@latest login
npx eas-cli@latest build:configure

Or install it in your project then use npx eas

npm i -D eas-cli
npx eas login
npx eas build:configure
  • Choose Android when asked.
  • This creates eas.json and links your local project to an EAS project.

Note: If you tried npx eas ... and got “could not determine executable”, use eas-cli like above.


Step 2 — Ensure Android package name exists

In app.json (or app.config.js), make sure you have:

"android": {
  "package": "com.yourname.yourapp"
}

Important rules:

  • Keep it unique (it identifies your app on Android).
  • Don’t change it later unless you want Android to treat it as a different app.

Step 3 — Set EAS to output an APK (not AAB)

Edit eas.json and set your preview profile like this: image

{
  "build": {
    "preview": {
      "distribution": "internal",
      "android": { "buildType": "apk" }
    }
  }
}
  • distribution: "internal" = build is meant for sharing/testing without Play Store.
  • buildType: "apk" = gives you an APK you can sideload.

(You can also add "android": { "buildType": "apk" } to your development profile if you want.)


Step 4 — Build the APK

Run:

npx eas-cli@latest build -p android --profile preview

What happens:

  • EAS creates/uses Android credentials (keystore) on Expo servers
  • Uploads your project
  • Builds it in the EAS queue
  • Produces a downloadable APK

Step 5 — Install on your Android phone

When the build finishes:

  • Open the build page / artifact link from Expo
  • Download the APK
  • Install it on your phone (Android may ask you to allow “Install unknown apps” once)

Optional — Multiple apps without Play Store

Yes, you can build multiple separate apps:

  • Each one must have a different android.package
  • Build each project with the same EAS command
  • Install each APK normally

Troubleshooting notes

  • If the build shows “queued” on free tier, that’s normal.
  • If the build fails, open Logs and copy the last ~30 lines to diagnose quickly.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment