Google Play 앱 서명을 활성화하는 방법
많은 개발자들이 Google I / O 2017에서 선보인 새로운 Google Play 앱 서명 기능에 대해 자세히 알아 보려고합니다.
Google Play 내에서 앱에 서명하기 위해 키 저장소를 저장하는 기능은 키 저장소를 안전하게 저장하려는 노력을 줄여주고 시스템이 하드웨어 및 OS 특성에 따라 모든 기기에 제공되는 APK를 최적화하는 데 도움이 될 수 있습니다.
이 주제에 대한 자세한 내용은 https://developer.android.com/studio/publish/app-signing.html#google-play-app-signing 공식 문서에서 읽을 수 있습니다 .
다음 답변을 통해 원본 키 저장소를 업로드하기 위해 따라야하는 단계와이 시점부터 APK에 서명해야하는 새 업로드 키 저장소를 만드는 방법을 좀 더 잘 설명하겠습니다.
이 가이드는 이미 Play 스토어에 애플리케이션이있는 개발자를 대상으로합니다. 새 앱으로 시작하는 경우 프로세스가 훨씬 더 쉽고 여기 에서 "새 앱"단락의 지침을 따를 수 있습니다.
99 %의 개발자가 이미 가지고있는 전제 조건 :
안드로이드 스튜디오
JDK 8 및 설치 후에는 터미널 명령을 단순화하기 위해 사용자 공간에 환경 변수를 설정해야합니다. Windows x64에서는 다음
C:\Program Files\Java\{JDK_VERSION}\bin을Path환경 변수 에 추가해야 합니다. (이 작업을 수행하는 방법을 모르는 경우 Windows 10Path환경 변수에 폴더를 추가하는 가이드를 읽을 수 있습니다 .)
0 단계 : Google Play 개발자 콘솔을 연 다음 출시 관리-> 앱 서명으로 이동 합니다.
앱 서명 TOS에 동의합니다.
1 단계 : 아래 이미지와 동일한 버튼을 클릭하여 PEPK 도구를 다운로드합니다.
2 단계 : 터미널을 열고 다음을 입력합니다.
java -jar PATH_TO_PEPK --keystore = PATH_TO_KEYSTORE --alias = ALIAS_YOU_USE_TO_SIGN_APK --output = PATH_TO_OUTPUT_FILE --encryptionkey = GOOGLE_ENCRYPTION_KEY
전설:
- PATH_TO_PEPK = 1 단계 에서 다운로드 한 pepk.jar의 경로
C:\Users\YourName\Downloads\pepk.jar는 Windows 사용자 와 유사 할 수 있습니다 . - PATH_TO_KEYSTORE = 출시 APK에 서명하는 데 사용하는 키 저장소의 경로입니다. * .keystore 또는 * .jks 유형의 파일이거나 확장자가없는 파일 일 수 있습니다. 같은 뭔가
C:\Android\mykeystore또는C:\Android\mykeystore.keystore등 ... - ALIAS_YOU_USE_TO_SIGN_APK = 출시 APK에 서명하는 데 사용하는 별칭의 이름입니다.
- PATH_TO_OUTPUT_FILE = 확장자가 .pem 인 출력 파일의 경로입니다.
C:\Android\private_key.pem - GOOGLE_ENCRYPTION_KEY =이 암호화 키는 항상 동일해야합니다. 앱 서명 페이지에서 찾아 복사하여 붙여 넣을 수 있습니다. 다음 형식이어야합니다.
eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a
예:
java -jar "C : \ Users \ YourName \ Downloads \ pepk.jar"--keystore = "C : \ Android \ mykeystore"--alias = myalias --output = "C : \ Android \ private_key.pem"- encryptionkey = eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a
Enter를 누르면 순서대로 제공해야합니다.
- 키 저장소 비밀번호
- 별칭 비밀번호
모든 것이 정상이면 PATH_TO_OUTPUT_FILE 폴더에 private_key.pem.
3 단계 : 아래 이미지와 동일한 버튼을 클릭하여 private_key.pem 파일을 업로드합니다.
4 단계 : Android Studio를 사용하여 새 키 저장소 파일을 만듭니다.
향후 앱의 다음 릴리스에 서명하려면이 키 스토어가 필요합니다. 암호를 잊어 버리지 마십시오.
Android 프로젝트 중 하나를 엽니 다 (무작위로 하나 선택). 이동 빌드 -> APK 서명 생성 키를 누릅니다 새로 만들기 .
이제 필수 필드를 채워야합니다.
키 저장소 경로는 생성 할 새 키 저장소를 나타냅니다. 오른쪽에있는 점 3 개 아이콘을 사용하여 폴더와 이름을 선택합니다
C:\Android\upload_key.jks(.jks 확장자가 자동으로 추가됨).참고 :
upload새 별칭 이름으로 사용했지만 이전에 다른 별칭을 가진 동일한 키 저장소를 사용하여 다른 앱에 서명 한 경우 이전에 원래 키 저장소에 있던 동일한 별칭 이름을 선택해야합니다.
완료되면 확인을 누르면 이제 새 upload_key.jks키 저장소가 생깁니다. 이제 Android Studio를 닫을 수 있습니다.
5 단계 : 새로 생성 된 upload_key.jks키 저장소 에서 업로드 인증서를 추출해야합니다 . 터미널을 열고 다음을 입력하십시오.
keytool -export -rfc -keystore UPLOAD_KEYSTORE_PATH -alias UPLOAD_KEYSTORE_ALIAS -file PATH_TO_OUTPUT_FILE
전설:
- UPLOAD_KEYSTORE_PATH = 방금 만든 업로드 키 저장소의 경로입니다. 이 경우
C:\Android\upload_key.jks. - UPLOAD_KEYSTORE_ALIAS = 업로드 키 저장소와 관련된 새 별칭입니다. 이 경우
upload. - PATH_TO_OUTPUT_FILE = 확장자가 .pem 인 출력 파일의 경로. 같은 것
C:\Android\upload_key_public_certificate.pem.
예:
keytool -export -rfc -keystore "C : \ Android \ upload_key.jks"-alias upload -file "C : \ Android \ upload_key_public_certificate.pem"
Enter를 누르면 키 저장소 비밀번호를 제공해야합니다.
이제 모든 것이 정상이면 PATH_TO_OUTPUT_FILE 폴더에 upload_key_public_certificate.pem.
6 단계 : upload_key_public_certificate.pem아래 이미지와 동일한 버튼을 클릭 하여 파일 업로드
7 단계 : 클릭 ENROLL의 앱 서명 페이지의 끝에서 버튼을 누릅니다.
이제 모든 새 릴리스 APK를 Google Play 개발자 콘솔에 업로드하기 전에 4 단계upload_key.jks 에서 만든 키 저장소 및 별칭 으로 서명해야합니다 .
더 많은 리소스 :
Q & A
Q : 새 upload_key 키 저장소로 서명 된 APK를 업로드하면 Google Play에 다음과 같은 오류가 표시 됩니다. 서명되지 않은 APK를 업로드했습니다. 서명 된 APK를 만들어야합니다 .
A : 출시 APK를 빌드하는 동안 두 서명 (V1 및 V2)으로 APK에 서명하도록 선택합니다. 읽기 여기에 자세한 내용은.
업데이트 됨
4,5,6 단계는 기존 앱에 대한 선택적 업로드 키를 만드는 것입니다.
"업로드 키 (기존 앱의 경우 선택 사항) : 프로그램 등록 중에 생성하는 새 키. Play Console에 업로드하기 전에 업로드 키를 사용하여 향후 모든 APK에 서명합니다." https://support.google.com/googleplay/android-developer/answer/7384423
1 분 정도 소요되는 훨씬 더 간단한 솔루션이 있습니다.
- Google Play Console에서 출시 관리 -> 앱 서명을 선택합니다.
- 첫 번째 옵션 인 Android Studio를 사용하여 암호화 된 개인 키 생성 (또는 이와 유사한 옵션이있는 옵션을 선택하십시오. 더 이상 해당 페이지를 볼 수 없습니다.)
- 안드로이드 스튜디오에서에서 안드로이드 앱 번들 (.aap 파일)을 생성 빌드 -> 서명 번들 / APK를 생성 ... 선택 안드로이드 앱 번들 옵션을 체크하는 것을 잊지 마세요 수출 암호화 키를 (구글 Play 앱 응용 프로그램을 등록하는 데 필요한 서명) 옵션. 생성 된 키 저장소가없는 경우 하나의 임시 생성하십시오.
- 이제 "까다로운"부분입니다. .aap이 생성 된 후 Android Studio는 .aap 파일이 저장된 위치에 대한 경로가 포함 된 알림을 오른쪽 하단 모서리에 표시합니다. 동일한 알림에서 확장하면 개인 키가 저장된 경로에 대한 다른 링크 ( private_key.pepk 라고 함 )를 찾을 수 있습니다. 이 알림을 놓친 경우 걱정하지 마세요. 오른쪽 하단 의 이벤트 로그 버튼을 클릭하여 이벤트 로그 창을 열면 동일한 정보를 찾을 수 있습니다. 그 위치를여십시오. 저는 C : \ Users \ yourUser \ .android였습니다.
- 브라우저로 돌아가서 APP SIGNING PRIVATE KEY 버튼을 누르고 컴퓨터의 개인 키 위치를 찾습니다.
끝난!
이제 이전에 생성 한 릴리스를 업로드 할 수 있습니다. :) 행운을 빕니다!
당신이 사용하는 경우 원단 (찌르다 설정 서명) 공개 베타 릴리스, DO NOT USE 구글은 앱 서명을 재생합니다. 두 개의 서명 된 APK를 빌드 한 후에해야합니다!
더 많은 Play 스토어 (samsung, amazon, xiaomi, ...)에 배포 할 때 두 개의 서명 된 APK를 다시 빌드해야합니다.
따라서 Google Play 앱 서명에주의하십시오.
되돌릴 수 없습니다. : / Google Play는 프로덕션 키로 서명 된 APK를 수락 한 후 승인하지 않았습니다. Google Play 앱 서명을 활성화 한 후 업로드 키만 허용됩니다.
CI 배포가 정말 복잡합니다 ...
업그레이드 관련 다음 문제 : https://issuetracker.google.com/issues/69285256
다음을 수행해야했습니다.
2. App releases-> Manage production-> Create release로 이동합니다.
3. Google Play 앱 서명에서 계속을 클릭합니다. 
4. "keytool -genkey -v -keystore c : \ path \ to \ cert.keystore -alias uploadKey -keyalg RSA -keysize 2048 -validity 10000"을 실행하여 업로드 인증서를 생성합니다.
5. 생성 된 인증서 (c : \ path \ to \ cert.keystore)로 apk에 서명합니다.
6. 앱 릴리스 에서 서명 된 APK 업로드 -> 프로덕션 관리-> 릴리스 편집
7. apk를 업로드하면 4 단계에서 생성 된 인증서가 앱 서명 인증서 에 추가되고 향후 모든 빌드에 대한 서명 인증서가됩니다.
Android 애플리케이션 패키지 파일 (APK)을 Android App Bundle (AAB)로 마이그레이션하는 동안 Play 스토어에 앱을 게시하는 동안이 문제가 발생하여 아래와 같이 해결되었습니다.
.aab파일을 빌드 할 때 아래와 같이 키 내보내기 경로를 저장할 위치를 묻는 메시지가 표시됩니다.

두 번째 이미지에서는 .aab 파일을 생성하는 동안 .pepk가 특정 폴더에 저장할 암호화 된 키 내보내기 경로 위치를 찾습니다.
Play 스토어 자격 증명으로 Google Play Console에 로그인 한 후 왼쪽에서 프로젝트를 선택하고 앱 서명 옵션 출시 관리 >> 앱 서명을 선택합니다. 
Google 앱 서명 인증 창이 표시됩니다.
그 후 세 개의 라디오 버튼 선택 **
Android Studio 라디오 버튼에서 내 보낸 키 업로드
**, 아래와 같이 APP SIGNING PRIVATE KEY 버튼이 확장됩니다.
버튼을 클릭하고 .pepk파일을 선택 합니다 ( .aab위와 같이 파일 을 생성하는 동안 저장했습니다 )
다른 모든 옵션을 읽고 제출하십시오.
성공하면 앱 릴리스로 돌아가서 .aab 파일을 찾아보고 롤아웃을 완료 할 수 있습니다.
뿡 빵뀨
다음을 수행하십시오.
"CREATE APPLICATION" having the same name which you want to upload before.
Click create.
After creation of the app now click on the "App releases"
Click on the "MANAGE PRODUCTION"
Click on the "CREATE RELEASE"
Here you see "Google Play App Signing" dialog.
Just click on the "OPT-OUT" button.
It will ask you to confirm it. Just click on the "confirm" button
참고 URL : https://stackoverflow.com/questions/44103024/how-to-enable-google-play-app-signing
'Programing' 카테고리의 다른 글
| 앱 그룹을 사용하여 앱간에 데이터 통신 및 유지 (0) | 2020.10.07 |
|---|---|
| C ++에서 쉼표 연산자의 다른 동작이 반환됩니까? (0) | 2020.10.07 |
| 드롭 다운의 변경 이벤트 트리거 (0) | 2020.10.07 |
| CSS (웹킷) : 절대 위치 요소에서 상단을 하단으로 재정의 (0) | 2020.10.07 |
| sys.argv [x]가 정의되어 있는지 확인 (0) | 2020.10.07 |










