React Native ์ฑ์ ๊ตฌ๊ธ ํ๋ ์ด ์คํ ์ด์ ์ถ์ํ๋ ์ ์ฒด ๊ณผ์ ์ค ์ฒซ๋ฒ์งธ
Android ์ฑ ์๋ช ํค๋? (Keystore)
์ฑ ์๋ช ํค๋ ์ฑ์ ์ ์์ ์ฆ๋ช ํ๋ ๋์งํธ ์ธ์ฆ์์ ๋๋ค.
์ฃผ์ ๋ชฉ์ :
- ์ฑ ๊ฐ๋ฐ์ ์ ์ ํ์ธ
- ์ฑ์ ๋ฌด๊ฒฐ์ฑ ๋ณด์ฅ
- ์์ ํ ์ ๋ฐ์ดํธ ๋ณด์ฅ
ํนํ ์ค์ํ ์ :
- ํค๋ฅผ ๋ถ์คํ๋ฉด ๊ฐ์ ํจํค์ง๋ช ์ผ๋ก ์ฑ ์ ๋ฐ์ดํธ ๋ถ๊ฐ๋ฅ
- ํค๋ ์๊ตฌ์ ์ด๋ฉฐ ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅ
- ๋ณด์์ ๋งค์ฐ ์ค์ํ ์ ๋ณด
- ํค์คํ ์ด ์์ฑ ๋ฐฉ๋ฒ
ํฐ๋ฏธ๋์ ์ด์ฉํ ์์ฑ
๊ฐ ํ๋ผ๋ฏธํฐ ์ค๋ช :
- -genkeypair: ํค ํ์ด ์์ฑ
- -v: ์์ธ ์ถ๋ ฅ
- -storetype PKCS12: ํค์คํ ์ด ํ์
- -keystore: ์์ฑ๋ ํค์คํ ์ด ํ์ผ๋ช
- -alias: ํค ๋ณ์นญ
- -keyalg RSA: ์ํธํ ์๊ณ ๋ฆฌ์ฆ
- -keysize 2048: ํค ํฌ๊ธฐ
- -validity 10000: ์ ํจ๊ธฐ๊ฐ(์ผ)
B. Android Studio๋ฅผ ์ด์ฉํ ์์ฑ
- Build → Generate Signed Bundle/APK ์ ํ
- 'Create new' ๋ฒํผ ํด๋ฆญ
- ํค์คํ ์ด ์ ๋ณด ์ ๋ ฅ:
- ํค์คํ ์ด ์ ๋ณด ๊ด๋ฆฌ
A. ํ๋ก์ ํธ์ ํค์คํ ์ด ์ค์
B. build.gradle ์ค์
...
signingConfigs {
release {
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
}
}
}
- ํค์คํ ์ด ์์ ํ๊ฒ ๋ณด๊ดํ๊ธฐ
์ค์ํ ๋ณด์ ์์น๋ค:
A. ํค์คํ ์ด ํ์ผ ๋ณดํธ
- ์์ ํ ์คํ๋ผ์ธ ์ ์ฅ์์ ๋ฐฑ์
- ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ ์ปค๋ฐํ์ง ์๊ธฐ
- .gitignore์ ์ถ๊ฐ
*.jks
gradle.properties
B. ๋น๋ฐ๋ฒํธ ๋ณดํธ
- ํ๊ฒฝ๋ณ์ ์ฌ์ฉ
- ๋ณ๋์ ๋ณด์ ์ ์ฅ์ ์ฌ์ฉ
export MYAPP_UPLOAD_STORE_PASSWORD=*****
export MYAPP_UPLOAD_KEY_PASSWORD=*****
- ํค์คํ ์ด ์ ๋ณด ํ์ธ
๊ธฐ์กด ํค์คํ ์ด ์ ๋ณด ํ์ธ:
์ถ๋ ฅ๋๋ ์ ๋ณด:
- ๋ณ์นญ
- ์์ฑ์ผ์
- ์ ํจ๊ธฐ๊ฐ
- ์ธ์ฆ์ ํ๊ฑฐํ๋ฆฐํธ
- ์์ ์ ์ ๋ณด
- ๊ตฌ๊ธ ํ๋ ์ด ์ฑ ์๋ช
๊ตฌ๊ธ ํ๋ ์ด ์ฑ ์๋ช ์ ์ฌ์ฉํ๋ฉด:
- ๊ตฌ๊ธ์ด ์ฑ ์๋ช ํค๋ฅผ ์์ ํ๊ฒ ๊ด๋ฆฌ
- ์ ๋ก๋ ํค๋ง ๋ก์ปฌ์์ ๊ด๋ฆฌ
- ํค ๋ถ์ค ์ํ ๊ฐ์
์ค์ ๋ฐฉ๋ฒ:
- ๊ตฌ๊ธ ํ๋ ์ด ์ฝ์ ์ ์
- ์ฑ ์ ํ → ์ค์ → ์ฑ ๋ฌด๊ฒฐ์ฑ
- ๊ตฌ๊ธ ํ๋ ์ด ์ฑ ์๋ช ๋ฑ๋ก
- ๋ฌธ์ ํด๊ฒฐ
์ผ๋ฐ์ ์ธ ๋ฌธ์ ๋ค:
- ํค์คํ ์ด ๋น๋ฐ๋ฒํธ ๋ถ์ค: ๋ณต๊ตฌ ๋ถ๊ฐ๋ฅ, ์ ํจํค์ง๋ช ์ผ๋ก ์ฌ๋ฐฐํฌ ํ์
- ์๋ช ๋ถ์ผ์น: ๋ฆด๋ฆฌ์ฆ ๋น๋์ ์๋ช ์ด ์ด์ ๊ณผ ๋ค๋ฅธ ๊ฒฝ์ฐ
- ๋น๋ ์ค๋ฅ: ์๋ช ์ค์ ์ค๋ฅ
์ด๋ฌํ ์ฑ ์๋ช ํค์ ์์ฑ๊ณผ ๊ด๋ฆฌ๋ ์ฑ ๋ฐฐํฌ์ ํต์ฌ์ ์ธ ๋ถ๋ถ์ด๋ฏ๋ก, ์ฒ์๋ถํฐ ์ ์คํ๊ฒ ๊ด๋ฆฌํ๋ ๊ฒ์ด ๋งค์ฐ ์ค์ํฉ๋๋ค.