안드로이드 스튜디오 기반의 프로젝트를 운영하다 보면
"Could not resolve all attributes"라는 다소 막연한 오류 메시지를 마주하게 됩니다.
이 오류는 주로 의존성(Dependency) 설정이 꼬였거나,
특정 라이브러리의 버전이 현재 프로젝트 환경과 호환되지 않을 때 발생합니다.
오늘은 이 오류의 근본적인 원인을 파악하고,
실무에서 즉시 적용 가능한 5가지 해결 방법을 상세히 알아보겠습니다.

1. 'Could not resolve all attributes' 오류가 발생하는 근본 원인
이 에러는 Gradle이 프로젝트에 필요한 라이브러리나 플러그인의 '속성(Attributes)'을 제대로 매칭하지 못했을 때 발생합니다. 구체적으로는 다음과 같은 상황에서 주로 나타납니다.
- Gradle 버전 불일치: 프로젝트의 Gradle 버전과 사용하려는 라이브러리가 요구하는 Gradle 버전이 서로 다를 때 발생합니다.
- Android Gradle Plugin(AGP) 호환성 문제: 특정 라이브러리가 최신 AGP 기능을 요구하지만, 현재 프로젝트는 구버전을 사용할 때 발생합니다.
- Jetpack Compose 설정 미비: Compose 관련 라이브러리를 추가하면서 Kotlin 컴파일러 버전이나 라이브러리 간의 정렬이 맞지 않는 경우입니다.
- 캐시 손상: 이전에 다운로드된 라이브러리 파일이 손상되어 Gradle이 속성 정보를 읽어오지 못하는 물리적인 결함입니다.
결국 이 문제는 "내가 쓰려는 라이브러리가 지금 내 프로젝트 환경(버전)에서는 이해할 수 없는 언어로 쓰여 있다"고 이해하시면 쉽습니다.
2. 단계별 해결 방법: 기본 점검부터 강제 업데이트까지
방법 1: Gradle 캐시 정화 및 Rebuild Project
가장 먼저 시도해야 할 방법은 '혹시 모를 찌꺼기'를 제거하는 것입니다. 코드 수정 없이도 해결되는 경우가 50% 이상입니다.
- 안드로이드 스튜디오 상단 메뉴에서 File > Invalidate Caches...를 클릭합니다.
- 모든 옵션을 체크한 뒤 Invalidate and Restart를 선택합니다.
- 재시작 후, Build > Clean Project를 실행하고 이어서 Rebuild Project를 진행합니다.
방법 2: Gradle 및 Kotlin 플러그인 버전 업데이트
만약 최신 라이브러리를 추가한 직후 오류가 발생했다면, 프로젝트 전체의 빌드 도구 버전을 높여야 합니다.
build.gradle (Project)파일에서com.android.tools.build:gradle버전을 최신 스테이블 버전으로 업데이트하세요.libs.versions.toml(버전 카탈로그)을 사용 중이라면 해당 파일에서agp또는kotlin버전을 확인합니다.
// 예시: build.gradle (Project)
plugins {
id 'com.android.application' version '8.2.0' apply false
id 'org.jetbrains.kotlin.android' version '1.9.10' apply false
}
방법 3: JVM 대상 버전(Target Compatibility) 일치시키기
라이브러리는 Java 17로 빌드되었는데, 내 프로젝트는 Java 11을 타겟팅하고 있다면 속성 충돌이 발생할 수 있습니다.
// build.gradle (Module)
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = '17'
}
}
3. Jetpack Compose 사용 시 특이 사항 (Compose 핵심 체크)
최근 "Could not resolve all attributes" 오류는 Jetpack Compose 도입 시 가장 빈번하게 발생합니다. Compose는 Kotlin 컴파일러 버전에 매우 민감하기 때문입니다.
만약 오류 메시지에 kotlin.native.target이나 org.jetbrains.kotlin.platform.type 같은 문구가 포함되어 있다면, 다음 사항을 체크하세요.
- Compose Compiler 버전: 사용 중인 Kotlin 버전과 1:1로 매칭되는 Compose Compiler 버전을 사용 중인지 확인해야 합니다. (Google의 공식 호환성 표를 참조하세요.)
- Transitive Dependencies: 내가 직접 추가하지 않은 하위 라이브러리가 충돌을 일으킬 수 있습니다. 이럴 때는
./gradlew app:dependencies명령어를 통해 의존성 트리를 확인해야 합니다.
4. 고급 해결책: Gradle 속성 강제 지정 (Configurations)
위의 방법으로도 해결되지 않는다면, 특정 라이브러리가 요구하는 속성을 강제로 매칭시켜주는 전략이 필요합니다. 이는 주로 다중 모듈 프로젝트에서 유용합니다.
build.gradle 파일에 아래와 같은 설정을 추가하여 Gradle이 속성을 선택할 때 우선순위를 갖도록 유도할 수 있습니다.
configurations.all {
resolutionStrategy {
force 'org.jetbrains.kotlin:kotlin-stdlib:1.9.10'
// 특정 라이브러리의 버전을 강제로 고정하여 충돌을 방지합니다.
}
}
핵심 요약: 이것만은 꼭 확인하세요!
- 캐시 초기화: Invalidate Caches를 통해 물리적 오류 가능성을 배제하세요.
- 버전 정렬: Android Gradle Plugin, Kotlin, Compose Compiler의 3박자 버전을 맞추세요.
- Java 버전 확인: 프로젝트와 라이브러리의 JDK 타겟 버전을 17(혹은 최신)로 통일하세요.
- 의존성 트리 검사: 터미널에서
./gradlew :app:dependencies를 입력해 어디서 충돌이 나는지 추적하세요.
개발 중 발생하는 오류는 성장을 위한 밑거름입니다. "Could not resolve all attributes" 오류는 결국 환경의 일관성을 맞추라는 신호입니다. 위 단계들을 차근차근 따라 하시면 반드시 해결하실 수 있습니다.
도움이 되셨다면 공감과 댓글 부탁드립니다! 추가로 궁금한 점이 있다면 언제든 남겨주세요.
'오류 > 안드로이드' 카테고리의 다른 글
| Program type already present 오류 해결 방법 (안드로이드 스튜디오) (0) | 2026.01.11 |
|---|---|
| Cannot choose between the following variants 오류 해결 방법 (안드로이드 스튜디오) (0) | 2026.01.10 |
| 안드로이드 스튜디오 - Execution failed for VariantAttr 오류 해결 방법 (0) | 2026.01.08 |
| 안드로이드 스튜디오 - Could not determine the dependencies of task 오류 해결 방법 (0) | 2026.01.07 |
| 안드로이드 스튜디오 - Gradle sync failed 오류 해결 방법 총정리 (0) | 2026.01.03 |