JAVA

[Android 빌드 실패] Gradle 7.2 이상

Machine_웅 2024. 11. 7. 10:41
728x90
반응형

오랜만에 예전 프로젝트를 빌드하려고 했을때, 갑자기 빌드가 안된다

 

 

인터넷을 서치 해보니..

 

Gradle 7.2 이하와  그 이상의 빌드 스크립트(?) 가 달라지면서,  생기는 문제로 의심해 보려고 한다.

 


기존 빌드 스크립트 (  7.2 Gradle 이전 )

build.gradle(project)

buildscript {
    repositories {
        google()
        mavenCentral()
    }

    dependencies {
        ...
        classpath "org.jetbrains.kotlin:kotlin-serialization:1.9.22"
        ...
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
        maven { url '<https://jitpack.io>'}
    }
}

 

플러그인 추가

build.gradle(app)

plugins {
    id 'org.jetbrains.kotlin.plugin.serialization'
}

...

dependencies {
    implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3"
}

 

 


새 빌드 스크립트 (  7.2 Gradle 이후 )

settings.gradle   ( 기존에  build.gradle(project) 에 작성 되어있던 코드를  settings.gradle  로 이전 )

pluginManagement {
    repositories {
        gradlePluginPortal()
        google()
        mavenCentral()
    }
}

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
    }
}


rootProject.name = "Alpha_P"
include ':app'

 

 

build.gradle(project) ( 기존내용을 지우고, 플러그인 추가 )

plugins {
    id 'com.android.application' version '7.4.2' apply false
}

 

build.gradle (App) 

상단에 추가 

plugins {
    id 'com.android.application'
}

 

 

gradle 버전 7.2 이상부터는

  1. Project 범위의 gradle에 선언되어 있던 repository에 대한 설정이 settings.gradle로 옮겨졌기 때문에, repository에 대한 설정을 settings.gradle로 옮겨주면 된다.
  2. 기존 dependencies에 선언되어있던 classpath 항목들은 plugins 항목으로 교체해야 하며, 각 항목들을 확인해보면 plugins에 선언할 때의 방법도 나와있으니, 그대로 사용하지 말고 공식 페이지를 확인해보고 적용해야 한다.
  3. repository에서 기존에 제거가 예정되었던 jcenter()가 이번 버전부터 제거되었으므로, jcenter()를 사용하는 library를 사용하고 있다면 이에 따른 대응을 따로 해주어야 한다.
  4. 그 외의 것들과, app 범위의 Module 등의 사용 방법은 이전과 동일하다.

라는 것이다.

출처: https://heegs.tistory.com/116 [Heeg's Log:티스토리]

 

 

 

 

 

 


참고 : 

https://linitial.tistory.com/55#Gradle%207.2%20%EC%9D%B4%EC%83%81%20%EC%B6%94%EA%B0%80%20%EB%B0%A9%EC%8B%9D-1

 

[Android] Gradle 7.2 이상 플러그인, 의존성, 저장소 추가 방법

포스팅 환경 M1 Mac OS Ventura 13.4.1 Android Studio Giraffe | 2022.3.1 Patch 1 (ARM) Gradle 8.2 Android Build Gradle 8.2.2 Kolin 1.9.22 Target SDK 33 기존 추가 방식 기존 Gradle 7.2 이하 버전에서는 새 프로젝트를 생성하면 아래

linitial.tistory.com

 

https://heegs.tistory.com/116

 

[Gradle] Gradle 7.2 버전 대응하기.

Bumblebee가 나온 이후로, 최신 버전으로 프로젝트를 생성하면 Gradle이 좀 다른 것을 볼 수 있다. Project 범위의 gradle과 setting.gradle에 변경사항이 있는데, 해당 변경사항에 따라 대응하는 과정을 작성

heegs.tistory.com

https://developers.google.com/android/guides/google-services-plugin?hl=ko

 

Google 서비스 Gradle 플러그인  |  Google Play services  |  Google for Developers

이 페이지는 Cloud Translation API를 통해 번역되었습니다. Google 서비스 Gradle 플러그인 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 소개 Android 기기에서 Google

developers.google.com

 

728x90
반응형