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.jsonfile in my Expo project (in theapp/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.
