[Android] keystore๋? keystore ์์ฑ ๋ฐฉ๋ฒ ๋ฐ ์ญํ
๐๐๐ ์์ buildType์ ์ข ๋ฅ 2๊ฐ์ง, debug์ release type์ ๋ํด ์ค๋ช ์ ํ์
์ ๊ธฐ๋ฐ์ผ๋ก ์๋ ๋ด์ฉ์ ์ค๋ช ํ ๊ฒ์
debug.keystore ์์ฑ
debug.keystore๋ android sdk๋ฅผ PC์ ์ค์นํ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ํฌํจ์ด ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋ฐ๋ก ์์ฑํ์ง ์์๋ ๋จ!
debug.keystore์ ์์น
- window : C:/users/.android/debug.keystore
- Mac: ~/.android/debug.keystore ๋๋ /Users/.android/debug.keystore
release.keystore ์์ฑ
release.keystore๋ ๋ฐฐํฌํ ๋ชฉ์ ์ ๊ฐ์ง apk๋ฅผ signingํ ๋ ์ฐ์
๋ง์ฝ ๋ถ์คํ๊ฒ ๋๋ฉด google playstore ๋ง์ผ์ ๋ฐฐํฌ์ค์ธ ์ฑ์ ๊ด๋ฆฌ/๋ฐฐํฌ/์์ ํ ์ ์๊ฒ ๋๋ฏ๋ก ์ ์ถ๋์ง ์๊ฒ ์ ๋ณด๊ดํด์ผํจ.
์์ฑํ๋ ๋ฐฉ๋ฒ
1. Android Studio ์ด์ฉ
2. ํฐ๋ฏธ๋ ๋ช ๋ น์ด๋ก ์์ฑ
$ keytool -genkey -v -keystore <keystore name> -alias <alias name> -keyalg <alg name> -keysize <key size> -validity <validity days>
์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์ฌ ์์ฑ. (java.jdk๊ฐ ์ค์น๋์ด์์ด์ผ ํจ)
- ์) $ keytool -genkey -v -keystore release.keystore -alias playstore-dev-key -keyalg RSA -keysize 2048 -validity 10000
- keystore
- ์์ฑ๋ .keystore ํ์ฅ์์ ํ์ผ ์ด๋ฆ
- alias
- ํค์ ๋ณ๋ช
- keyalg
- ํค ์ํธํ ์๊ณ ๋ฆฌ์ฆ
- RSA๋ DSA ์ค ํ๋๋ฅผ ์ ํ
- keysize
- ํค์ ํฌ๊ธฐ
- ์ ํ์ฌํญ์ด๋ฉฐ, ์ด ์ต์ ์ ๋นผ๋ฉด default๋ก 1024๋นํธ์ ํฌ๊ธฐ๋ก ์ ์ฅ๋จ
- ๊ตฌ๊ธ์์๋ 2048๋นํธ ์ด์์ ํค ํฌ๊ธฐ๋ฅผ ๊ถ์ฅ
- validity
- ์ ํจ๊ธฐ๊ฐ (๋จ์: ์ผ)
- ๊ตฌ๊ธ์์๋ ์ต์ 25๋ ์ด์(9125์ผ)์ ์ ํจ๊ธฐ๊ฐ์ ์ ๋ ฅํ ๊ฒ์ ๊ถ์ฅ
- keystore
๋ช ๋ น์ด๋ฅผ ์คํํ๋ฉด ๋น๋ฐ๋ฒํธ ์ค์ ~ key ์์ฑ์์ ์ ๋ณด๋ฅผ ์ ๋ ฅํ๊ฒ ๋์ด์์. ๋ค ์ ๋ ฅํ๊ณ ๋ง์ง๋ง์ Y๋ฅผ ์ ๋ ฅํ๋ฉด ๋!
์์ฑ์ด ์๋ฃ๋๋ฉด ํฐ๋ฏธ๋ ๋ช ๋ น์ด๋ฅผ ์คํํ ๊ฒฝ๋ก์ .keystore ํ์ผ์ด ์์ฑ๋์ด์์
Keystore Hash Key ํ์ธ
์จ๋ํํฐ๋ฅผ ์ฌ์ฉํ๋ค๋ณด๋ฉด hash key๋ฅผ ์์์ผํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์
Android Studio๋ฅผ ์ด์ฉํ์ฌ hash key ํ์ธ ๊ฐ๋ฅ
- android gradle์ signing config๊ด๋ จ script์ ๊ฐ์ ์ค์ ํด๋๋ฉด ํธ๋ฆฌํจ!!
app/build.gradle ํ์ผ์ debug/release keystore ์ ๋ณด๊ฐ ํ๋์ฝ๋ฉ ๋์ด์์ด์ผ ํจ
์์)
android {
signingConfigs {
debug {
keyAlias 'android-debug-key'
keyPassword 'password0000'
storePassword 'password0000'
storeFile file('../debug.keystore')
}
release {
keyAlias 'android-release-key'
keyPassword 'password1111'
storePassword 'password1111'
storeFile file('../release.keystore')
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
debug {
signingConfig signingConfigs.debug
}
}
}