[android] gradle관리! Toml

주은호·2024년 5월 28일
0

개인적 꿀팁이라고 생각하는거..

안드로이드에서 맥기준 command + ;을 하게되면
project structure > + 1.LibraryDependency를 클릭한후
project structure
검색창에 찾으려는 라이브러리를 검색하시면됩니다.
앞에 라이브러리까지 다쳐야 검색이 빠릅니다.
Maven Repository에서 검색하여 입력하세요!

Toml이란?

  • 결론! 관리 편할려고!
  • 키-값쌍으로 값들을 관리
  • 하나의 파일로 여러 프로젝트의 버전 관리를 통합하는데 사용
  • 참고 url

아래의 코드와 같은 형식!

## toml 파일
[versions]
# 버전 관리
kotlin = "2.0.0"
junit = "4.13.2"
coreKtx = "1.13.1"
junitVersion = "1.1.5"
ksp = "2.0.0-1.0.21"

[libraries]
# 라이브러리
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
junit = { group = "junit", name = "junit", version.ref = "junit" }
androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" }

[plugins]
# 플러그인
android-application = { id = "com.android.application", version.ref = "agp" }
jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
android-ksp = {id = "com.google.devtools.ksp", version.ref="ksp"}

buil.gradle 작성예시

ksp, kapt 도 기존과 같은 형식으로 써주면됩니다.

## 앱단 build.gradle 
plugins {
    alias(libs.plugins.android.application)
    alias(libs.plugins.jetbrains.kotlin.android)
    alias(libs.plugins.android.ksp)
}
dependencies {
    implementation(libs.androidx.core.ktx)
    implementation(libs.androidx.lifecycle.runtime.ktx)
    implementation(libs.androidx.activity.compose)
    implementation(platform(libs.androidx.compose.bom))
    ksp(libs.androidx.room.compiler)
}
    
## 프로젝트단 
plugins {
    alias(libs.plugins.android.application) apply false
    alias(libs.plugins.jetbrains.kotlin.android) apply false
    alias(libs.plugins.android.ksp) apply false
}

작성하며 발생한 문제

버전이 안맞다는 오류

오류내용

Unable to load class 'org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptionsHelper'

해결방법

  • 코틀린 버전을 2.0.0으로 업데이트를 하여 해결하였음
  • 그래들 버전들이 맞지 않는다는 것이니 하나하나 바꿔보시길...💪

코틀린 버전을 2.0.0으로 컴포즈를 사용할때

오류 내용

This version (1.1.1) of the Compose Compiler requires Kotlin version 1.6.10 but you appear to be using Kotlin version 1.5.31

해결 방법

toml 파일

[versions]
kotlin = "2.0.0"

[plugins]
org-jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }

// Add this line
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }

앱단 buil.gradle

plugins {
   // Existing plugins
   alias(libs.plugins.compose.compiler)
}

프로젝트단 buil.gradle

plugins {
   // Existing plugins
   alias(libs.plugins.compose.compiler) apply false
}
참고 링크
profile
EUNHO's STROY

0개의 댓글