글

Expo 앱을 Google Play에 배포하며 배운 점

Expo 앱 두 개를 Google Play 스토어에 출시하면서 겪은 예상치 못한 문제, 해결 방법, 배운 점을 정리했습니다.

Expo 앱을 Google Play에 배포하며 배운 점

iOS 앱을 출시한 뒤 Android로도 가져가고 싶었습니다. 둘 다 Expo로 만들었기 때문에 쉬울 것이라 예상했고, 실제로 대부분 그랬습니다! 그래도 과정에서 같은 일을 하는 분들께 도움이 될 만한 몇 가지 뜻밖의 문제가 있었습니다.

⚙️ 1. Expo로 이식하기

가장 좋은 점은 큰 코드 변경이 필요 없었다는 것입니다.

Expo 덕분에 Android 빌드가 매우 간단했습니다. eject하거나 깊은 플랫폼별 설정을 할 필요가 없었습니다. 하지만 테스트를 시작하자 뭔가 이상한 점이 눈에 띄었습니다…

🖋️ 2. UI 문제 - Android의 글꼴 크기

일부 화면이 Android에서 조금 어색하게 보였습니다.

Android는 iOS보다 글꼴 크기를 약간 더 크게 렌더링해서 몇몇 곳에서 UI 간격이 깨졌습니다. 해결책으로 Android 기기에서 글꼴 크기를 자동으로 약간 줄여 주는 작은 도우미 함수를 만들었습니다.

import { Platform } from "react-native";

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

작은 조정이었지만 큰 차이를 만들었고, 모든 것이 다시 균형 있게 보였습니다.

🧩 3. Google Play 설정

여기서부터 더 까다로웠습니다. 게시하려면 다음을 해야 했습니다.

  • keystore를 생성하고 업로드합니다(없다면 Expo가 자동으로 생성합니다).
  • Android 통합을 위해 키를 Firebase에 추가합니다.
  • google-services.json 파일을 다운로드해 Expo 프로젝트(app/ 폴더)에 포함합니다.

eas build -p android를 사용하는 Expo 빌드 프로세스가 대부분을 처리했지만 Firebase 연결을 다시 확인하는 것이 중요했습니다.

🔐 4. Google 인증 설정

제 앱은 이미 Firebase를 사용하고 있었기 때문에 Android용 Google 인증을 활성화하는 것은 쉬웠습니다. 연결된 프로젝트를 통해 Firebase가 자동으로 연결해 주었습니다. Firebase Console에서 제공자를 활성화하는 것 외에는 별도의 수동 설정이 필요 없었습니다.

🧪 5. 비공개 테스트 - 테스터 찾기

주변에 Android 사용자가 많지 않아서 몇 가지를 시도했습니다.

  • X, Reddit, daily.dev에 테스트 초대 글을 올렸습니다.
  • Google Play에서 개발자들이 14일 동안 서로의 앱을 테스트해 주는 “12 Testers - Closed Test Pro”라는 멋진 앱을 찾았습니다.

커뮤니티의 피드백은 정식 출시 전에 큰 도움이 되었습니다.

✅ 6. 심사와 승인

UI 세부 사항을 고치고 모든 것을 테스트한 뒤, 두 앱 모두 문제 없이 심사를 거쳐 승인되었습니다! 사실 iOS 심사보다 훨씬 수월했습니다 😅

📱 드디어 제 앱이 출시되었습니다!

🍱 TinyRecipe 출시 스토어:

💰 TinyDebt 출시 스토어:

💡 마무리 생각

Expo를 사용한다면 Android 배포는 놀랄 만큼 매끄럽습니다. 대부분의 걸림돌은 기술적인 것보다 디자인 관련입니다. 여러 기기에서 테스트하는 것이 핵심이며, 그것만 해결되면 Play 스토어 파이프라인은 빠르고 개발자 친화적으로 느껴집니다.