유니 코드

[Android] Android Studio Chipmunk버전 build.gradle(project) 설정방법 본문

오늘의 공부는?!/Android

[Android] Android Studio Chipmunk버전 build.gradle(project) 설정방법

꼬물쥰 2023. 2. 23. 15:08

내가 사용하고 있는 Android Studio의 버전은 Chipmunk 이다.

프로젝트를 진행하면서 Firebase를 사용하게되었다.

앱과 Firebase연동과정에서 Chipmunk는 project수준 build.gradle 내용이 다르다는 것을 알게되었다.

 

보통 build.gradle은 아래와 같이 buildscript와 allprojects가 있다.

buildscript {
    ext.kotlin_version = "1.5.0"
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:4.2.2"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.google.gms:google-services:4.3.13'
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
        jcenter() // Warning: this repository is going to shut down soon
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

 

하지만 chipmunk는 plugin만 존재한다.

처음에 보고 당황했다ㅋㅋㅋ.

plugins {
    id 'com.android.application' version '7.2.2' apply false
    id 'com.android.library' version '7.2.2' apply false
    id 'org.jetbrains.kotlin.android' version '1.6.10' apply false
    id 'com.google.dagger.hilt.android' version '2.44' apply false
}

 

 

찾아보니 settings.gradle에 따로 작성하는 것이 gradle 6.8이 되면서 새로운 문법이 생겨났다는,,, 그런이야기도 ,,,

이런 방식이 centralized repository declaration이라고 한다.

https://docs.gradle.org/current/userguide/dependency_management.html#sub:centralized-repository-declaration

 

이 블로그를 참고하면 좋을 듯하다.

https://ideajini.tistory.com/15

 

 

해결방법

plugins 위에 buildscript를 추가했다.

buildscript {
    dependencies {
        classpath 'com.google.gms:google-services:4.3.13'
    }
}

// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
    id 'com.android.application' version '7.2.2' apply false
    id 'com.android.library' version '7.2.2' apply false
    id 'org.jetbrains.kotlin.android' version '1.6.10' apply false
    id 'com.google.dagger.hilt.android' version '2.44' apply false
}

 

 

 

 

참고

Comments