티스토리 뷰
반응형
안드로이드 릴리즈 버전으로 스토어에 올릴 시 . .jks 파일이 필요하다.
앱 터미널에 아래 코드 입력
keytool -genkey -v -keystore 자신의 앱 폴더 위치/android/app/keyName.jks -keyalg RSA -keysize 2048 -validity 10000 -alias keyName
빨간 글씨는 자신이 원하는 이름으로 생성하면 됩니다.
💡 명령어 설명
- -keystore keyName.jks
➤ 생성될 keystore 파일 이름입니다. 원하는 이름으로 바꿔도 됩니다. - -keyalg RSA
➤ 암호화 알고리즘입니다. - -keysize 2048
➤ 키 크기 (보통 2048 이상 권장). - -validity 10000
➤ 유효 기간(일 수 기준, 10000일 = 약 27년). - -alias keyName
➤ 키 별칭 (나중에 signing 시 필요).
그럼 아래의 정보들을 입력하라고 한다.
Enter keystore password: [비밀번호 입력]
Re-enter new password: [다시 입력]
What is your first and last name?
[이름 입력]
...
KR
..
.. correct? [yes/no]: yes
이렇게 생성을 하면 자신의 앱 폴더 위치/android/app 여기에 .jKs 파일이 생성된 것을 볼 수 있다.
그 후에
Android Studio open.
1. android/app 폴더 안에 keystore.properties 파일 생성 후 입력
key.store.file=keyStore.jks
key.store.password=비밀번호
key.alias.name=keyStore
key.alias.password=비밀번호
2. android/app/build.gradle.kts 코드 추가
import java.util.Properties
import java.io.FileInputStream
android {
.
.
signingConfigs {
create("release") {
val keystorePropertiesFile = rootProject.file("app/keystore.properties")
val keystoreProperties = Properties().apply {
load(FileInputStream(keystorePropertiesFile))
}
storeFile = file(keystoreProperties["key.store.file"] as String)
storePassword = keystoreProperties["key.store.password"] as String
keyAlias = keystoreProperties["key.alias.name"] as String
keyPassword = keystoreProperties["key.alias.password"] as String
}
}
.
.
.
buildTypes {
release {
signingConfig = signingConfigs.getByName("release")
//코드 최적화 및 용량 압축
isMinifyEnabled = true
isShrinkResources = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
dependencies {
implementation ("com.google.android.play:asset-delivery-ktx:2.3.0")
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.0.3")
}
}
3. android/app/proguard-rules.pro 코드 추가
# Firebase
-keep class com.google.firebase.** { *; }
-keep class com.google.android.gms.** { *; }
# Retrofit 사용 시 (선택)
-keep class retrofit2.** { *; }
-keep interface retrofit2.** { *; }
# Keep annotations
-keepattributes Signature
-keepattributes *Annotation*
# Flutter Play Core (split install 관련)
-keep class com.google.android.play.** { *; }
-keep class com.google.android.play.core.splitinstall.** { *; }
-keep class com.google.android.play.core.splitcompat.** { *; }
-keep class com.google.android.play.core.tasks.** { *; }
-dontwarn com.google.android.play.**
반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 코딩테스트
- ec2
- retrofit
- GitHub
- Token
- Crop
- android
- Custom
- ExoPlayer
- error
- listener
- java
- Android Studio
- flutter_new_badger
- node.js
- ios
- ScrollView
- 재귀함수
- https
- bitmap
- 알고리즘
- Kotlin
- message
- API
- Flutter
- Hilt
- direction
- app bundle
- FCM
- Firebase
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함