아 진짜 엿같았던 에러..

 

아직도 뭐 때문에 문제가 발생했는지 정확하게는 잘 모르겠으나

권한요청을 구현하기 위해 새로운 라이브러리를 implement해서 발생한 듯.

 

어떻게 해결했는지 그 과정. 사실 7번만 봐도 해결이 될거임. (아마?)

(7번만 해도 해결이 되는지 아니면 위에 과정들 중 필요한 과정이 있던 건지는 아직 잘 모르겠음. 나중에 또 이런 문제가 발생했을 때 7번부터 해보고 안되면 위의 과정들 하나하나 해봅시다..)

 

1. 1/3 문제 발생. 

Duplicate class found라는 에러가 떴다. 대충 class X가 모듈 A랑 B에 둘 다 존재한다 이런 느낌이었음.

 

2. 라이브러리가 충돌했다는 것을 깨닫고 직접 라이브러리에 들어가서 충돌하는 내용을 지워주려고 했음. (ㅋㅋ..)

(project로 들어가면 외부라이브러리 볼 수 있음. 근데 외부 라이브러리는 읽기모드밖에 안돼서 수정 못함. 수정이 되더라도 일일히 어떻게 지워)

 

3. 챗지피티한테 물어보니 의존성 트리를 확인하라고 함.

하단의 Terminal 탭을 누르고 의존성 트리 확인 코드(./gradlew app:dependencies)를 입력했으나 실패.

Build failed with an exception.

 

알아보니까 버전 호환 문제가 있는 것 같아서 toml의 agp 값 바꿔주고.. 그랬는데 뭐가 안되는거임.

 

자바11을 써야한다는데 JVM이 자바8버전임.

일단 자바부터 다시 설치하고 고급시스템설정 들어가서 환경변수 설정해줌.

 

자바(JAVA) 11 설치 및 환경설정 | 자바 11 환경 변수

자바로 코딩 공부를 하려면 개발 할 수 있는 환경을 만들어 주어야 한다. 그 순서를 먼저 작성하자면JAVA SE JDK 설치 -> JAVA 환경 변수 설정 -> IDE 설치 이렇게 볼 수 있겠다. 이 포스팅은 자바로 개

velog.io

안드로이드 스튜디오 설정에서 Gradle JDK 설정도 바꿔줌.

 

안드로이드 스튜디오 JDK 설정 방법

플라밍고 버전 기준으로 안드로이드 스튜디오 JDK설정 방법을 포스팅하려고 한다. 1. File 메뉴의 Settings를 선택한다. 2. 왼쪽의 Build, Excution, Deployment > Build Tools > Gradle을 선택한다. 3. Gradle JDK 드롭

arer.tistory.com

 

4. 근데도 안되는 거임.

build.gradle에서 JavaVersion.VERSION_11로 바꿔줬는데도.

 

그래서 더 검색을 해봤는데.. 해결 방법 중에 재부팅이 있었음. 설마?

그랬다. 재부팅을 안해서 적용이 안 되었던 것 같다.

JVM이 1.8.0(버전8) -> 23.0.1(버전11)로 적용됨

얼탱이가 없다.

 

[Android Studio] "No JVM installation found" 오류 어떻게 해결해요?

안녕하세요 "No JVM installation found" 오류는 Android Studio가 Java Virtual Machine (JVM)을 찾지 못할 때 발생하는 오류입니다. Android Studio는 JVM을 실행하는데 필요하므로 이 오류를 해결해야 합니다. 다음은

won-percent.tistory.com

아래와 같이 의존성 트리가 잘 출력되는 것을 확인할 수 있다.

 

5. 근데 모르겠음

일단 의존성 트리를 이제 볼 수 있게 되었는데 내가 의존성 트리를 본다고 이제 뭐 어떻게 해야하는지를 모르겠음.

공식 홈페이지를 살펴봄.. exclude로 겹치는 걸 없애야하는 듯

 

종속 항목 해결 오류 디버그  |  Android Studio  |  Android Developers

Android 스튜디오에서 Gradle 빌드 시스템을 사용하여 주석 프로세서를 추가하는 방법을 알아봅니다.

developer.android.com

 

6. gradle.properties에 android.enableJetifier=true를 추가했다.

(왜하는진 모름)

 

💡[문제 상황 - 해결] Task :app:checkDebugDuplicateClasses FAILED

Receiver 예제를 공부하던 중 빌드 에러가 발생했다. 매우 간단한 예제로서, 따로 사용해준 외부 라이브러리는 'com.github.pedroSG94:AutoPermissions:1.0.3' 뿐이었다. 에러 코멘트는 다음과 같다. > Task :app:che

meoru-tech.tistory.com

 

7. 사실상 제일 먼저 봤어야 했던 블로그 글

 

Duplicate class kotlin.collections.* found in modules jetified-kotlin-stdlib-1.8.0

오랜만에 옛날 안드로이드 프로젝트를 열려고 했으나, 다음과 같은 에러 때문에 빌드가 되지 않았다. 내용을 읽어보면 두 가지 버전의 Kotlin Standard Library가 충돌된다고하는데 1.8.0과 1.6.21인가보

syncope.tistory.com

build.gradle의 dependencies에 아래 코드를 추가했다.

    constraints {
        implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0") {
            because("kotlin-stdlib-jdk7 is now a part of kotlin-stdlib")
        }
        implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0") {
            because("kotlin-stdlib-jdk8 is now a part of kotlin-stdlib")
        }
    }

 

아아아아ㅏ

빌드 성공

앱 실행 성공

으아아아아아아아아아ㅏㅏ