인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

꿀잼사슴님의 프로필 이미지
꿀잼사슴

작성한 질문수

[2023 코틀린 강의 무료제공] 기초에서 수익 창출까지, 안드로이드 프로그래밍 A-Z

할 일 추가하기 기능 구현 (1)

0:30초 질문입니다.

해결된 질문

작성

·

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"),

"proguard-rules.pro"

)

}

}

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이 정상적으로 됩니다.

꿀잼사슴님의 프로필 이미지
꿀잼사슴

작성한 질문수

질문하기