투케이2K

836. (Android/Gradle) 안드로이드 signingConfigs 사용해 apk , aab 파일 생성 시 jks , keystore 자동 빌드 사인 설정 본문

Android

836. (Android/Gradle) 안드로이드 signingConfigs 사용해 apk , aab 파일 생성 시 jks , keystore 자동 빌드 사인 설정

투케이2K 2024. 8. 16. 19:59

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Java / Kotlin

 

[방법 설명]

 

------------------------------------------------------------------------------
[사전 환경 설정 사항]
------------------------------------------------------------------------------

1. 앱 빌드 sign 에 필요한 JKS 및 KeyStore 파일 생성 수행

2. 안드로이드 프로젝트 >> app >> build >> signature 폴더 생성 및 jsk 파일 추가

------------------------------------------------------------------------------
[사전 주의 사항]
------------------------------------------------------------------------------

1. gradle 에서 signingConfigs 지정 시 해당 코드 블럭은 buildTypes 보다 위에 선언 되어야합니다

------------------------------------------------------------------------------
[build.gradle 소스 코드] : android >> signingConfigs / buildTypes 부분 확인
------------------------------------------------------------------------------

// TODO [플러그인 적용 실시]
plugins {
    // [안드로이드 플러그인]
    id 'com.android.application'

    // [코틀린 플러그인]
    id 'kotlin-android'

    // [파이어베이스 및 구글 서비스]
    //id 'com.google.gms.google-services'
}


// TODO [애플리케이션 빌드 설정 지정 실시]
android {

    // TODO [컴파일 버전]
    compileSdk 33

    // [Config 셋팅]
    defaultConfig {
        // ----------------------------
        applicationId "com.example.javaproject" // 앱 아이디
        // ----------------------------
        minSdk 21 // 최소 빌드 버전
        // ----------------------------
        targetSdk 33 // TODO 타겟 빌드 버전
        // ----------------------------
        buildConfigField "long", "TIMESTAMP", System.currentTimeMillis() + "L" // TODO [빌드 시간 저장 위해 추가]
        // ----------------------------
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        // ----------------------------

    }


    // [signingConfigs : 앱 파일 빌드 사인 key 지정]
    signingConfigs {
        debugKey { // [디버깅 빌드 시 사용할 key]
            storeFile file('signature/sign.jks') // TODO [프로젝트 폴더 >> app >> build >> signature 폴더 생성 및 jsk 파일 추가]
            storePassword 'sign1234' // TODO [비밀 번호]
            keyAlias 'Sign' // TODO [Alias 명칭]
            keyPassword 'sign1234' // TODO [비밀 번호]
        }
    }


    // [빌드 설정]
    buildTypes {
        debug {
            minifyEnabled false // [true 프로가드 사용 / false 프로가드 사용안함]
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' // [프로가드 설정 파일 지정]

            signingConfigs.debugKey // TODO [빌드 앱 파일 생성 Sign 타입 지정] >> [signingConfigs : buildTypes 배치 순서 주의]
        }
        release {
            minifyEnabled false // [true 프로가드 사용 / false 프로가드 사용안함]
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' // [프로가드 설정 파일 지정]
        }
    }


    // [컴파일 자바 버전 지정]
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }


    // [아파치 http 사용 설정]
    useLibrary ('org.apache.http.legacy')

}


// TODO [라이브러리 의존성 부여 실시]
dependencies {

}

------------------------------------------------------------------------------

 

반응형
Comments