ETC/Flutter
[flutter] 앱 서명하기 (apk 추출하기 1 of 3)
dkswnkk
2021. 10. 18. 00:03
앱 서명하기
1.keystore 만들기
keytool -genkey -v -keystore ~/파일명.jks -keyalg RSA -keysize 2048 -validity 10000 -alias 지정할이름 -storetype JKS
~/
는 생성될 디렉터리 주소이다.-alisa
는 후에 설정해줄 alisa의 이름이다.
각 질문에 대한 내용은 아래와 같다.
Q > What is your first and last name? 당신의 첫번째와 마지막 이름은 무엇인가요?
A > AhnJuHyeong
Q > What is the name of your organizational unit? 당신의 부서의 이름은 무엇인가요?
A > solo
Q > What is the name of your organization? 당신의 조직 이름은 무엇인가요?
A > solo
Q > What is the name of your City or Locality? 당신의 도시 이름은 무엇인가요?
A > Busan
Q > What is the name of your State or Province? 당신의 지역 이름은 무엇인가요?
A > Korea
Q > What is the two-letter country code for this unit? 당신의 국가 코드를 입력해 주세요
A > 82
Q is ~~~~ correct?
A > yes 혹은 Y
Keystore 참조하기
- 앱을 빌드할 때 앱이 Keystore를 참조해야 하므로 우리는 안드로이드에 특정 명령어를 입력해야 한다.
- 먼저 배포할 앱 프로젝트 폴더에 접근한 후
android
바로 하위 폴더에key.properties
이라는 파일을 생성한다.
- 그 후, 아래의 내용을
key.properties
에 입력해 준다. storePassword=이전에 입력한 비밀번호 keyPassword=이전에 입력한 비밀번호 keyAlias=이전에 입력한 Alias storeFile=파일명.jks
- 이때
key.properties
는 공개된 저장소에 업로드하면 안 되고 개인이 보관해야 한다.
Grandle에서 서명 구성하기
Android
에Grandle
에서도 해당key.properties
파일에 접근할 수 있도록 설정해야 한다.android
-app
-build.gradle
에서 아래와 같이 바꿔준다.
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
------ 이 위에 위 코드를 삽입
android{
...
}
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}