I'm developing two apps but I want to install it on my phone before publishing to the app store.
Open the app, scan a QR code, app loads. Cute for testing.
Less cute when you realize that's not actually installing anything — it's running your code inside someone else's app.
Close Expo Go enough times and you'll eventually wonder why your "app" disappeared.
Turns out there's a real way to get it onto your phone as its own standalone thing. Here's what I did.
The fix: EAS Build
EAS (Expo's build service) can package your app into an actual installable file. For Android, that's an APK. No app store needed, no review process, just a file you drop onto your phone.
First, install the CLI and log in:
npm install -g eas-cli
eas login
Then configure your project:
eas build:configure
This walks you through a few prompts — say yes to auto-creating an EAS project, and pick "All" for platforms even if you're only building Android right now. It doesn't cost you anything to set up both; it just means you won't have to redo this step later if you add iOS.
Getting an actual APK (not an AAB)
By default, EAS wants to build an AAB file, which is what the Play Store needs — but you can't just install an AAB directly on your phone. You need to tell it to build an APK instead.
Open eas.json and add this to your preview profile:
"preview": {
"distribution": "internal",
"android": {
"buildType": "apk"
}
}
Then run the build:
eas build -p android --profile preview
This kicks off a cloud build (takes a few minutes), and gives you a link to download the .apk when it's done.
Actually installing it
Transfer the APK to your phone — I just used Google Drive — and tap it.
Android will probably block it the first time and tell you to enable installs from unknown sources. That's just Settings → Security → allow installs from that source, then tap the file again.
And that's it. The app is now sitting on your home screen like any other app, no Expo Go required.
What about iPhone?
Same eas build command, just swap the platform flag:
eas build -p ios --profile preview
The catch is you need an Apple Developer account ($99/year) to do this, even for installing on your own device. Android let me skip straight to "just give me the file," iPhone did not.
If you actually want it on the app stores
Once I had it installed locally, publishing felt like a smaller step than I expected. For Android:
eas build -p android --profile production
This builds the AAB (the Play Store format), which you upload through the Play Console after paying the one-time $25 developer fee. For iOS, same idea but EAS can submit it for you directly:
eas build -p ios --profile production
eas submit -p ios
I haven't gone through Play Store review yet, so I can't tell you how painless or painful that part is. But getting the app onto my own phone, permanently, took about twenty minutes total — way less intimidating than I'd built it up to be.
Anyone else sitting on an Expo Go project that's secretly ready to be a real app?