광산김가네

[Android/Kotlin] build.gradle 관련 정리(업데이트 예정) 본문

TIL(Today I Learn)

[Android/Kotlin] build.gradle 관련 정리(업데이트 예정)

어둠의 그림자 2022. 11. 5. 02:12

프로젝트를 새로 만들때 build.gradle 파일에서 생긴 오류때문에 실행이 안되는경우도 있고,

viewBinding 등의 초기설정을 해줘야하는 경우가 많아 정리를 해보려고한다

 

0. build.gradle은 두가지가 있다?!

build.gradle은 패키지단위로 1개, app단위로 1개가 있다.

해당 포스팅에서 주로 다룰 내용은 app단위의 build.gradle이다

*아마 패키지단위의 build.gradle은 빌드할때 주로 만지는걸로 알고있다..기억이..가물가물..

 

1.구조

크게

  • plugins
  • android 
  • dependencies

부분으로 나눠져있다.

보통 처음 프로젝트를 빌드할때 내가 설정하는 build.gradle 파일은 다음과같다

plugins {
    id 'com.android.application'
    id 'org.jetbrains.kotlin.android'
    //추가
    id 'kotlin-kapt'
    id 'kotlin-parcelize'
}

android {
    namespace 'umc.standard.week5'
    compileSdk 32

    defaultConfig {
        applicationId "umc.standard.week5"
        minSdk 23
        targetSdk 32
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }
    //추가
    buildFeatures{
        viewBinding true
    }
}

dependencies {
	//추가
    def version = '1.9.0'
    implementation "androidx.core:core-ktx:$version"
    implementation 'androidx.appcompat:appcompat:1.5.1'
    implementation "com.google.android.material:material:$version"
    implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
}

2. viewBinding 관련 설정/오류

buildFeature 항목에 viewBinding 값을 true로 설정해야 코틀린 파일에서 바인딩을 사용하여 xml파일과 연결할 수 있다.

 

문제상황) 가끔! viewbinding default 이름으로 선언해줘도 아래와 같이 자동완성되거나 alt+enter를 쳐서 import하라는 파란색 자동완성 말풍선이 뜨지않을때가 있다.

그럴때는 viewbinding값을 false로 바꿔주고 sync 한후, true로 바꿔서 다시 sync해주면 해결된다

*android studio 문제라고? 한다

(추후 업데이트 예정)