오랜만에 예전 프로젝트를 빌드하려고 했을때, 갑자기 빌드가 안된다
인터넷을 서치 해보니..
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 이상부터는
- Project 범위의 gradle에 선언되어 있던 repository에 대한 설정이 settings.gradle로 옮겨졌기 때문에, repository에 대한 설정을 settings.gradle로 옮겨주면 된다.
- 기존 dependencies에 선언되어있던 classpath 항목들은 plugins 항목으로 교체해야 하며, 각 항목들을 확인해보면 plugins에 선언할 때의 방법도 나와있으니, 그대로 사용하지 말고 공식 페이지를 확인해보고 적용해야 한다.
- repository에서 기존에 제거가 예정되었던 jcenter()가 이번 버전부터 제거되었으므로, jcenter()를 사용하는 library를 사용하고 있다면 이에 따른 대응을 따로 해주어야 한다.
- 그 외의 것들과, app 범위의 Module 등의 사용 방법은 이전과 동일하다.
라는 것이다.
출처: https://heegs.tistory.com/116 [Heeg's Log:티스토리]
참고 :
[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
[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
'JAVA' 카테고리의 다른 글
JDK 설치 - 시스템 환경변수 설정 (0) | 2024.03.04 |
---|---|
Java 대용량 데이터 청크로 분리해서 데이터 전송하기 (0) | 2023.03.10 |
Java ) DataInputStream (0) | 2023.02.17 |
시스템 환경의 Endian (엔디안) 종류 체크 (0) | 2023.01.05 |
Java) InputStream (0) | 2022.12.22 |