아 진짜 엿같았던 에러..
아직도 뭐 때문에 문제가 발생했는지 정확하게는 잘 모르겠으나
권한요청을 구현하기 위해 새로운 라이브러리를 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버전임.
일단 자바부터 다시 설치하고 고급시스템설정 들어가서 환경변수 설정해줌.
안드로이드 스튜디오 설정에서 Gradle JDK 설정도 바꿔줌.
4. 근데도 안되는 거임.
build.gradle에서 JavaVersion.VERSION_11로 바꿔줬는데도.
그래서 더 검색을 해봤는데.. 해결 방법 중에 재부팅이 있었음. 설마?
그랬다. 재부팅을 안해서 적용이 안 되었던 것 같다.
얼탱이가 없다.
아래와 같이 의존성 트리가 잘 출력되는 것을 확인할 수 있다.
5. 근데 모르겠음
일단 의존성 트리를 이제 볼 수 있게 되었는데 내가 의존성 트리를 본다고 이제 뭐 어떻게 해야하는지를 모르겠음.
공식 홈페이지를 살펴봄.. exclude로 겹치는 걸 없애야하는 듯
6. gradle.properties에 android.enableJetifier=true를 추가했다.
(왜하는진 모름)
7. 사실상 제일 먼저 봤어야 했던 블로그 글
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")
}
}
아아아아ㅏ
빌드 성공
앱 실행 성공
으아아아아아아아아아ㅏㅏ
'TIL > 안드로이드 스튜디오' 카테고리의 다른 글
6장 - 브로드캐스트 수신자 (SMS 문자 정보 액티비티에 띄우기) (0) | 2025.01.07 |
---|---|
6장 - 서비스 (0) | 2025.01.02 |
도전!10 - 기본 앱 화면 구성 (0) | 2025.01.01 |
도전!9 - 고객 정보 입력 화면의 구성 (0) | 2024.12.24 |
5장 바로가기 메뉴(NavigationDrawer) 만들기 (0) | 2024.12.23 |