이 문서에서는 Power Apps 래핑을 위해 Android(APK) 앱에 수동으로 코드 서명을 하는 방법을 설명합니다. 래핑 프로젝트를 만들고 빌드할 때 플랫폼 중 하나로 Android를 선택한 경우 앱을 Android에 서명하세요.
중요
Google Play 배포를 위해 AAB 앱에 서명하려면 앱 서명을 참조하세요.
시작하기 전에
필수 소프트웨어
시작하기 전에 다음을 설치하고 설정합니다.
- Android Studio
- OpenSSL
- apksigner 도구(Android Studio에 포함)
사전 요구 사항
필요 항목:
- 해시 키를 만들 응용 프로그램 이름입니다.
- 로그인할 최신 APK 파일.
참고
수동 서명에는 .jks
확장자를 사용하고 자동 서명에는 .pfx
확장자를 사용합니다.
키 및 서명 해시 생성
환경 변수 설정
환경 변수를 설정하지 않는 경우:
- Android Studio 및 OpenSSL을 다운로드하여 설치합니다.
- PATH 환경 변수에
keytool
및openssl
을 추가합니다.- PATH에
C:\Program Files\Android\Android Studio\jbr\bin
을 추가합니다. -
openssl.exe
의 경로(예:C:\Program Files\OpenSSL-Win64\bin
)를 PATH에 추가합니다.
- PATH에
수동 서명 프로세스의 경우
서명 해시 키 생성
관리자 권한으로 명령 프롬프트에서 다음 명령을 실행하여 키를 생성합니다.
keytool -genkey -alias powerappswrap -keyalg RSA -keystore powerappswrap.jks -keysize 2048 -validity 10000
메시지가 표시되면 다음을 수행합니다.
- 키 저장소의 비밀번호를 입력하십시오.
- 이름, 조직, 위치 및 기타 필수 세부 정보를 입력합니다.
- 정보를 확인합니다.
인증서 생성
이 명령을 실행하여 인증서를 생성합니다
keytool -exportcert -alias powerappswrap -keystore powerappswrap.jks | openssl sha1 -binary | openssl base64
메시지가 표시되면 이전에 만든 키 저장소 암호를 입력합니다.
설명된 매개 변수:
매개 변수 | Description |
---|---|
genkey | 키 생성 명령 |
별칭 | 키 저장소 항목의 별칭 |
keyalg | 키 알고리즘 이름 |
keystore | 키 저장소의 이름 |
keysize | 각 키의 크기 |
validity | 키의 유효 기간(일) |
자동 키 자격 증명 모음 서명 프로세스의 경우
서명 해시 키 생성
관리자 권한으로 명령 프롬프트를 열고 다음 명령을 실행하여 키를 생성합니다.
keytool -genkey -alias powerappswrap -keyalg RSA -keystore powerappswrap.pfx -keysize 2048 -validity 10000
메시지가 표시되면 다음을 수행합니다.
- 키 저장소의 비밀번호를 입력하십시오.
- 이름, 조직, 위치 및 기타 필수 세부 정보를 입력합니다.
- 정보를 확인합니다.
인증서 생성
다음 명령을 실행하여 인증서를 생성합니다.
keytool -exportcert -alias powerappswrap -keystore powerappswrap.pfx | openssl sha1 -binary | openssl base64
메시지가 표시되면 이전에 만든 키 저장소 암호를 입력합니다.
설명된 매개 변수:
매개 변수 | Description |
---|---|
genkey | 키를 생성합니다. |
별칭 | 키 저장소 항목의 별칭입니다. |
keyalg | 키 알고리즘 이름입니다. |
keystore | 키 저장소의 이름입니다. |
keysize | 각 키의 크기입니다. |
validity | 키의 유효 기간(일)입니다. |
APK 패키지 수동 서명(KV 서명용이 아님)
래핑 중에 자동 로그인을 사용하지 않거나 Play 스토어용 AAB 파일을 업로드하려는 경우 다음 단계를 따르세요. 이 프로세스가 반복되지 않도록 하려면 가능한 경우 자동 로그인을 사용합니다.
Apksigner 도구를 찾습니다.
- Android Studio을(를) 여십시오.
- 도구>SDK 관리자>Android SDK 위치로 이동하여 SDK 경로를 찾습니다.
- SDK 디렉터리에서 다음 경로로 이동합니다.
- build-tools>[버전 번호]>apksigner.bat(Windows) 또는 apksigner(Mac/Linux) 찾기
- 또는: build-tools>[버전 번호]>lib>apksigner.jar 찾기
APK 파일 서명
다음 명령어를 실행하여 APK에 서명합니다.
apksigner.bat sign --ks PATH_TO_KEYSTORE --ks-key-alias KEY_ALIAS PATH_TO_APK
설명된 매개 변수:
매개 변수 | Description |
---|---|
ks | 키 저장소 파일의 경로(예: C:\Users\name\Desktop\powerappswrap.jks ) |
ks-key-alias | 키를 생성할 때 사용한 별칭(예: powerappswrap ) |
PATH_TO_APK | APK 파일의 전체 경로(예: C:\Users\name\Downloads\MyApp.apk ) |
메시지가 표시되면 키 저장소 암호를 입력합니다.
예제:
apksigner.bat sign --ks C:\Users\name\Desktop\powerappswrap.jks --ks-key-alias powerappswrap C:\Users\name\Desktop\MyApp.apk
서명 확인
서명 후 다음을 사용하여 APK 서명을 확인합니다.
apksigner.bat verify --verbose PATH_TO_APK
인증에 성공하면 APK가 올바르게 서명되고 배포할 준비가 되었음을 확인할 수 있습니다.
자세한 내용은 Android Studio 명령줄 도구: apksigner를 참조하세요.
앱 배포
앱에 서명한 후 다음과 같은 여러 가지 방법을 사용하여 앱을 배포할 수 있습니다.
배포 옵션
Microsoft Intune: Microsoft Intune을 사용하여 배포하려면 Microsoft Intune에 Android 기간 업무 앱 추가를 참조하세요.
Intune 앱 보호: 앱에 Intune 앱 보호 서비스에 대한 액세스 권한을 부여하려면 앱에 Intune 앱 보호 서비스에 대한 액세스 권한 부여를 참조하세요.
직접 배포: 수동 설치를 위해 서명된 APK를 사용자에게 직접 배포할 수도 있습니다.