android 에서는 모든 앱을 설치하기 전에 인증서로 디지털 서명을 해야한다
Google Play Store 를 통해 애플리케이션을 배포하려면 모든 업데이트에 사용해야 하는
릴리즈 키로 서명해야 한다
2017년 부터 Google Play 앱 서명 기능으로 서명 릴리즈를 자동으로 관리한다
대신 애플리케이션 바이너리를 업로드하기 전에 업로드 키로 서명을 해야한다
애플리케이션 서명
애플리케이션 서명에 대해 자세한 설명이 기록되어 있다
React Native 에서는 프로세스를 간략히 다루고
자바스크립트 번들을 패키징하는 데 필요한 단계를 나열한다
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 입력 후 엔터
my-upload-key.keystore
를 android/app 하위에 배치한다mv your_key_name.keystore /android/app
~/.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=*****
...
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
}
}
}
...