Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 플러터 설치 2022
- 큐 자바 코드
- android retrofit login
- android ar 개발
- 스택 자바 코드
- 2022 플러터 설치
- 안드로이드 레트로핏 사용법
- 안드로이드 라이선스 종류
- 자바 다형성
- jvm 작동 원리
- ar vr 차이
- 2022 플러터 안드로이드 스튜디오
- ANR이란
- 안드로이드 유닛 테스트 예시
- 객체
- rxjava cold observable
- 안드로이드 유닛 테스트
- 멤버변수
- jvm이란
- Rxjava Observable
- 안드로이드 os 구조
- 서비스 vs 쓰레드
- 스택 큐 차이
- rxjava hot observable
- rxjava disposable
- 안드로이드 레트로핏 crud
- 클래스
- 서비스 쓰레드 차이
- 안드로이드 라이선스
- 안드로이드 유닛테스트란
Archives
- Today
- Total
나만을 위한 블로그
[Android] Duplicate class android.support.v4.app.INotificationSideChannel 에러 해결 본문
Android
[Android] Duplicate class android.support.v4.app.INotificationSideChannel 에러 해결
참깨빵위에참깨빵_ 2021. 8. 4. 01:02728x90
반응형
앱을 빌드하던 중 이런 에러들이 발생했다.
Duplicate class android.support.v4.app.INotificationSideChannel found in modules core-1.5.0-runtime (androidx.core:core:1.5.0) and support-compat-25.3.1-runtime (com.android.support:support-compat:25.3.1)
Duplicate class android.support.v4.app.INotificationSideChannel$Stub found in modules core-1.5.0-runtime (androidx.core:core:1.5.0) and support-compat-25.3.1-runtime (com.android.support:support-compat:25.3.1)
Duplicate class android.support.v4.app.INotificationSideChannel$Stub$Proxy found in modules core-1.5.0-runtime (androidx.core:core:1.5.0) and support-compat-25.3.1-runtime (com.android.support:support-compat:25.3.1)
Duplicate class android.support.v4.os.IResultReceiver found in modules core-1.5.0-runtime (androidx.core:core:1.5.0) and support-compat-25.3.1-runtime (com.android.support:support-compat:25.3.1)
Duplicate class android.support.v4.os.IResultReceiver$Stub found in modules core-1.5.0-runtime (androidx.core:core:1.5.0) and support-compat-25.3.1-runtime (com.android.support:support-compat:25.3.1)
Duplicate class android.support.v4.os.IResultReceiver$Stub$Proxy found in modules core-1.5.0-runtime (androidx.core:core:1.5.0) and support-compat-25.3.1-runtime (com.android.support:support-compat:25.3.1)
Duplicate class android.support.v4.os.ResultReceiver found in modules core-1.5.0-runtime (androidx.core:core:1.5.0) and support-compat-25.3.1-runtime (com.android.support:support-compat:25.3.1)
Duplicate class android.support.v4.os.ResultReceiver$1 found in modules core-1.5.0-runtime (androidx.core:core:1.5.0) and support-compat-25.3.1-runtime (com.android.support:support-compat:25.3.1)
Duplicate class android.support.v4.os.ResultReceiver$MyResultReceiver found in modules core-1.5.0-runtime (androidx.core:core:1.5.0) and support-compat-25.3.1-runtime (com.android.support:support-compat:25.3.1)
Duplicate class android.support.v4.os.ResultReceiver$MyRunnable found in modules core-1.5.0-runtime (androidx.core:core:1.5.0) and support-compat-25.3.1-runtime (com.android.support:support-compat:25.3.1)
구글에 검색해보니 매우 쉽게 해결할 수 있는 에러였다.
내 컴퓨터에 설치된 안드로이드 스튜디오 4.2.2 기준 gradle.properties 파일의 내용은 아래와 같다.
# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
# AndroidX package structure to make it clearer which packages are bundled with the
# Android operating system, and which are packaged with your app"s APK
# https://developer.android.com/topic/libraries/support-library/androidx-rn
android.useAndroidX=true
여기서 맨 마지막에 한 줄을 더 추가하면 된다. 코드블럭의 코드 설정을 파이썬으로 해놔서 #으로 주석을 표현했다.
# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
# AndroidX package structure to make it clearer which packages are bundled with the
# Android operating system, and which are packaged with your app"s APK
# https://developer.android.com/topic/libraries/support-library/androidx-rn
android.useAndroidX=true
android.enableJetifier=true # <- 이 부분을 추가해준다
마지막 두 줄의 의미를 잘 모르겠어서 찾아봤다.
각 줄은 플래그라고 하는데, useAndroidX 플래그가 true로 되어 있다면 androidx 플러그인은 지원 라이브러리 대신 적절한 androidx 라이브러리를 사용한다. 플래그가 따로 지정되어 있지 않다면 기본값은 false다.
enableJetifier 플래그가 true로 설정되면 안드로이드 플러그인은 바이너리를 재작성해서 androidx 종속성을 사용하도록 기존 타사 라이브러리를 자동으로 마이그레이션한다. 이 플래그 역시 기본값은 false다.
참고한 사이트)
https://developer.android.com/jetpack/androidx?hl=ko
반응형
'Android' 카테고리의 다른 글
[Android] 레트로핏 사용 시 Expected a string but was BEGIN_OBJECT at line 1 column 2 path $ 에러 해결 (0) | 2021.08.04 |
---|---|
[Android] 레트로핏으로 네이버 검색 API 사용하는 법 (0) | 2021.08.04 |
[Android] 갤러리에서 사진을 선택해 프로필 이미지로 지정하고 Volley로 서버에 업로드하는 법 (0) | 2021.07.27 |
[Android] JSONArray 안의 JSONArray 파싱하는 방법 (0) | 2021.06.26 |
[Android] startActivityForResult()를 대체할 registerForActivityResult()로 이미지 가져오는 법 (0) | 2021.06.20 |
Comments