[android] Duplicate class protobuf 오류 해결

🔥🔥🔥·2024년 11월 10일

mediapipe-samples 예제를 프로젝트 내에서 테스트하는 도중에 빌드 시 다음과 같은 오류들이 났다

  • Caused by: org.gradle.workers.internal.DefaultWorkerExecutor$WorkExecutionException: A failure occurred while executing com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable
  • Caused by: java.lang.RuntimeException: Duplicate class com.google.protobuf.AbstractMessageLite found in modules protobuf-java-3.22.3.jar -> jetified-protobuf-java-3.22.3 (com.google.protobuf:protobuf-java:3.22.3) and protobuf-javalite-3.19.1.jar -> jetified-protobuf-javalite-3.19.1 (com.google.protobuf:protobuf-javalite:3.19.1)
  • Caused by: org.gradle.workers.internal.DefaultWorkerExecutor$WorkExecutionException: A failure occurred while executing com.android.build.gradle.internal.tasks.MergeJavaResWorkAction
  • Caused by: com.android.builder.merge.DuplicateRelativeFileException: 2 files found with path 'google/protobuf/field_mask.proto'.

살펴보니 다음과 같이 implementation 한 내용이 기존 google login 과 firebase 에 겹치는 내용이 있어서 나는 오류인것 같았다

implementation 'com.google.mediapipe:tasks-vision:latest.release'

그래서 app 수준에 다음과 같은 코드를 추가하니 오류 없이 정상적으로 빌드되었다

configurations.all {
    exclude group: "com.google.protobuf", module: "protobuf-java"
}

0개의 댓글