โ† Back to Blog

Article

Deploying my Expo apps to Google Play - lessons learned

A walkthrough of the surprises, fixes, and lessons from shipping two Expo apps to the Google Play Store.

Deploying Expo apps to Google Play

After releasing my iOS apps, I wanted to bring them to Android. Since both were built with Expo, I expected it to be easy - and it mostly was! Still, I ran into a few surprises along the way that might help others doing the same.

โš™๏ธ 1. Porting with Expo

The best part? No big code changes needed.

Expo made it super simple to build for Android - I didn't need to eject or do any deep platform-specific setup. But when I started testing, I noticed something offโ€ฆ

๐Ÿ–‹๏ธ 2. UI issues - font sizes on Android

Some screens looked slightly off on Android.

It turns out Android renders font sizes just a bit larger than iOS, so my UI spacing broke in a few places. My fix: I wrote a small helper function to automatically scale font sizes down slightly on Android devices.

import { Platform } from "react-native";

export const normalizeFont = (size: number) => {
  return Platform.OS === "android" ? size * 0.95 : size;
};

Tiny tweak, big difference - everything looked balanced again.

๐Ÿงฉ 3. Google Play configuration

Here's where it got trickier. To publish, I had to:

  • Generate and upload keystores (Expo does this automatically if you don't have one).
  • Add the keys to Firebase for Android integration.
  • Download and include the google-services.json file in my Expo project (in the app/ folder).

Expo's build process using eas build -p android handled most of it, but double-checking the Firebase connection was key.

๐Ÿ” 4. Google Authentication setup

Since my apps already used Firebase, enabling Google Auth for Android was easy - Firebase linked it automatically through the connected project. No extra manual setup needed besides enabling the provider in Firebase Console.

๐Ÿงช 5. Closed testing - finding testers

I didn't have many Android users among my friends, so I tried a few things:

  • Posted testing invites on X, Reddit, and daily.dev
  • Found an awesome app called "12 Testers - Closed Test Pro" on Google Play, where devs test each other's apps for 14 days.

That community feedback helped a ton before the public release.

โœ… 6. Review and approval

After fixing UI details and testing everything, both apps were reviewed and approved without issues! The process was actually smoother than the iOS review ๐Ÿ˜…

๐Ÿ“ฑ Finally - my apps are now live!

๐Ÿฑ TinyRecipe is live on:

๐Ÿ’ฐ TinyDebt is live on:

๐Ÿ’ก Final thoughts

If you're using Expo, deploying to Android is surprisingly smooth - most hurdles are design-related rather than technical. Testing across devices is key, but once that's handled, the Play Store pipeline feels quick and dev-friendly.