해결된 질문
작성
·
31
·
수정됨
0
private lateinit var binding : ActivityMainBinding을 하려고 하는데 불러오지 못합니다. 안드로이드 스튜디오 2024.2.1 버전을 사용 중이라 room 설치할 때도 제미나이 도움으로 진행하느라 build.gradle.kts(Module: app) 코드가 수업 내용과 많이 다릅니다. gradle 문제로 해당 클래스의 패키지가 다운로드 되지 않은거 같습니다.
문제의 build.gradle.kts(Module: app) 전체 코드는 아래와 같습니다.
```
plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose)
id("org.jetbrains.kotlin.kapt")
}
android {
namespace = "com.example.kotlin06_todolist"
compileSdk = 35
defaultConfig {
applicationId = "com.example.kotlin06_todolist"
minSdk = 26
targetSdk = 34
versionCode = 1
versionName = "1.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
kotlinOptions {
jvmTarget = "11"
}
buildFeatures {
compose = true
}
}
dependencies {
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.lifecycle.runtime.ktx)
implementation(libs.androidx.activity.compose)
implementation(platform(libs.androidx.compose.bom))
implementation(libs.androidx.ui)
implementation(libs.androidx.ui.graphics)
implementation(libs.androidx.ui.tooling.preview)
implementation(libs.androidx.material3)
implementation(libs.androidx.appcompat)
implementation(libs.material)
implementation(libs.androidx.activity)
implementation(libs.androidx.constraintlayout)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
androidTestImplementation(platform(libs.androidx.compose.bom))
androidTestImplementation(libs.androidx.ui.test.junit4)
debugImplementation(libs.androidx.ui.tooling)
debugImplementation(libs.androidx.ui.test.manifest)
val room_version = "2.6.1"
implementation("androidx.room:room-runtime:$room_version")
// To use Kotlin annotation processing tool (kapt)
kapt("androidx.room:room-compiler:$room_version")
// optional - Kotlin Extensions and Coroutines support for Room
implementation("androidx.room:room-ktx:$room_version")
}
```
또한 깃허브 주소도 남겼습니다.
https://github.com/KrillM/Kotlin06_TodoList
Feat.
build.gradle.kts(Module :app)에 두 가지 방법(깃 허브에는 없음)도 시도했습니다.
1. android 내 databinding
dataBinding { enable = true }
2. android 내 buildfeature를 아래와 같이 수정
buildFeatures {
compose = true
dataBinding = true
}
답변 1
0
android {
### 생략 ###
buildFeatures {
compose = true
viewBinding = true
}
}
저랑 비슷한 경험을 하신 분들은 참고해주세요.
2025년 버전으로 viewBinding은 buildFeatures 안에
viewBinding = true라고 작성해주시면 됩니다.
그리고 libs.versions.toml로 가면 [versions]에 agp 버전이 있는데
최근에 안드로이드 스튜디오를 설치하였다면 agp 버전이 "8.7.3"으로 되어 있습니다.
최신 버전이라 불안정하는 것으로 보아 "8.3.0"으로 낮추어야 ActivityMainBinding이 정상적으로 됩니다.