← 블로그 목록

React Native Android 빌드 & Play Store 배포 실전 가이드

React Native 앱을 AAB로 빌드하고 Google Play Store에 배포하기까지의 전체 과정을 정리합니다.

React NativeAndroid모바일

빌드 환경 준비

- JDK 17 (React Native 0.73+ 권장)

- Android SDK 34

- Gradle 8.x

- `local.properties`에 SDK 경로 설정

서명 키 생성

keytool -genkeypair -v -storetype PKCS12 \
  -keystore release.keystore -alias my-key \
  -keyalg RSA -keysize 2048 -validity 10000

android/gradle.properties에 서명 정보를 추가합니다. CI에서는 환경변수로 주입합니다.

AAB 빌드

cd android
./gradlew bundleRelease

출력: app/build/outputs/bundle/release/app-release.aab

자주 만나는 빌드 에러

1. NDK 버전 불일치

build.gradlendkVersion을 명시합니다:

android {
    ndkVersion = "26.1.10909125"
}

2. Metro 번들러 충돌

여러 RN 프로젝트를 동시에 개발할 때 포트가 충돌합니다. package.json에서 포트를 고정하세요:

"scripts": {
  "start": "react-native start --port 8081"
}

3. Proguard 난독화 문제

릴리즈 빌드에서 크래시가 나면 proguard-rules.pro에 keep 규칙을 추가합니다.

Play Store 배포

1. Google Play Console에서 앱 등록

2. 내부 테스트 트랙에 AAB 업로드

3. 테스트 완료 후 프로덕션 트랙으로 승격

4. 스토어 등록정보 (스크린샷, 설명) 작성

CI 자동화 (GitHub Actions)

- name: Build AAB
  run: cd android && ./gradlew bundleRelease

- name: Upload to Play Store
  uses: r0adkll/upload-google-play@v1
  with:
    serviceAccountJsonPlainText: ${{ secrets.PLAY_SERVICE_ACCOUNT }}
    packageName: com.example.app
    releaseFiles: android/app/build/outputs/bundle/release/app-release.aab
    track: internal

결론

첫 빌드가 가장 어렵습니다. 환경 설정만 한 번 잡으면 이후 릴리즈는 자동화로 처리할 수 있습니다.