TIL: RN | 인앱 결제 react-native-iap Android Google Play 앱 서명 upload 키 생성 - 221207

Lumpen·2022년 12월 7일
0

RN인앱결제

목록 보기
13/16

android 에서는 모든 앱을 설치하기 전에 인증서로 디지털 서명을 해야한다
Google Play Store 를 통해 애플리케이션을 배포하려면 모든 업데이트에 사용해야 하는
릴리즈 키로 서명해야 한다
2017년 부터 Google Play 앱 서명 기능으로 서명 릴리즈를 자동으로 관리한다
대신 애플리케이션 바이너리를 업로드하기 전에 업로드 키로 서명을 해야한다

애플리케이션 서명
애플리케이션 서명에 대해 자세한 설명이 기록되어 있다

React Native 에서는 프로세스를 간략히 다루고
자바스크립트 번들을 패키징하는 데 필요한 단계를 나열한다

업로드 키 생성

keytool 을 사용하여 개인 서명 키를 생성할 수 있다

macOS key keytool

macOS에서 JDK bin 폴더를 다음 명령으로 찾는다

/usr/libexec/java_home

위 명령으로 다음과 같은 JDK의 디렉토리를 출력된다

/Library/Java/JavaVirtualMachines/jdkX.X.X_XXX.jdk/Contents/Home

위의 디렉토리로 이동 후 아래와 같이 sudo 권한으로 keytool 명령 수행

sudo keytool -genkey -v -keystore my-upload-key.keystore -alias [my-key-alias] -keyalg RSA -keysize 2048 -validity 10000

이 명령은 키 저장소 및 키의 암호와 키의 고유 이름 필드를 묻는 메시지를 표시한다
그런 다음 my-upload-key.keystore 이라는 파일로 키 저장소를 생성합니다

키 저장소에는 10000일 동안 유효한 단일 키가 포함되어 있다
별칭은 나중에 앱에 서명할 때 사용할 이름이므로 별칭을 기록해 두는 것을 잊지 말아야 한다

위의 명령을 실행하면 다음을 입력해야 한다
1. 이름
2. 조직 단위 이름
3. 조직 이름
4. 구/군/시 이름
5. 시/도 이름
6. 국가 코드

입력을 하면 맞습니까? 라는 질문을 하는데 맞다고 하면 안되고
엔터를 한 번 입력하여
위의 입력 내용을 확인해야 한다
입력한 것은 좌측 대괄호 안에 뜨니 따라 입력하면 됨..

6개의 질문에 모두 같은 답을 하면 또 맞습니까? 라는 질문을 하는데
이 때 y 입력 후 엔터

Gradle 변수 세팅

  1. 생성한 키 파일 my-upload-key.keystore 를 android/app 하위에 배치한다
    -> Java Home이 readonly 라 파일 복사 후 붙여넣기 했음..
    mv your_key_name.keystore /android/app
  2. ~/.gradle/gradle.properties or android/gradle.properties 파일을 편집하거나 다음을 추가
MYAPP_UPLOAD_STORE_FILE=my-upload-key.keystore
MYAPP_UPLOAD_KEY_ALIAS=my-key-alias
MYAPP_UPLOAD_STORE_PASSWORD=*****
MYAPP_UPLOAD_KEY_PASSWORD=*****

[project]/android/app/build.gradle

...
android {
    ...
    signingConfigs {
        debug { ... }
        release {
            if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) {
                storeFile file(MYAPP_UPLOAD_STORE_FILE)
                storePassword MYAPP_UPLOAD_STORE_PASSWORD
                keyAlias MYAPP_UPLOAD_KEY_ALIAS
                keyPassword MYAPP_UPLOAD_KEY_PASSWORD
            }
        }
    }
    buildTypes {
        release {
            ...
            signingConfig signingConfigs.release     // 변경: .debug --> .release
        }
    }
}
...
profile
떠돌이 생활을 하는. 실업자는 아니지만, 부랑 생활을 하는

0개의 댓글