Androidコンパイルエラー:app:checkDebugDuplicateClasses



Android Compilation Error



問題
checkDebugDuplicateClasses

モジュールclasses.jar(com.android.support:support-compat:28.0.0)およびclasses.jar(com.android.support:support-v4:23.1.1)にある重複クラスandroid.support.v4.accessibilityservice.AccessibilityServiceInfoCompat )



org.gradle.api.tasks.TaskExecutionException:タスク「:app:checkDebugDuplicateClasses」の実行に失敗しました。
org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:95)で
org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:91)で
org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:57)で
org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:119)で
org.gradle.api.internal.tasks.execution.ResolvePreviousStateExecuter.execute(ResolvePreviousStateExecuter.java:43)で
org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:93)で
org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:45)で
org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:94)で
org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:56)で
org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:55)で
org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)で
org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter $ 1.executeTask(EventFiringTaskExecuter.java:67)で
org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter $ 1.call(EventFiringTaskExecuter.java:52)で
org.gradle.api.internal.tasks.execution.EventFiringTaskExecuterで1. c a l l(E v e n t F i r i n g T a s k E x e c u ter。jav a:49)a t o rg。 g r a d le。 i n t e r n al。操作 。 D e f a u l t B u i l d O p e r a t i o n E x e c u t o r 1.call(EventFiringTaskExecuter.java:49)at org.gradle.internal.operations.DefaultBuildOperationExecutorCallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:315)
org.gradle.internal.operations.DefaultBuildOperationExecutorでC a l l a b l e B u i l d O p e r a t i o n W o r k er。 e x e c u t e(D e f a u l t B u i l d O p e r a t i o n E x e c u tor。jav a:305)a t o rg。 g r a d le。 i n t e r n al。操作 。 D e f a u l t B u i l d O p e r a t i o n E x e c u t or。 e x e c u t e(D e f a u l t B u i l d O p e r a t i o n E x e c u tor。jav a:175)a t o rg。 g r a d le。 i n t e r n al。操作 。 D e f a u l t B u i l d O p e r a t i o n E x e c u t or。 c a l l(D e f a u l t B u i l d O p e r a t i o n E x e c u tor。jav a:101)a t o rg。 g r a d le。 i n t e r n al。操作 。 D e l e g a t i n g B u i l d O p e r a t i o n E x e c u t or。 c a l l(D e l e g a t i n g B u i l d O p e r a t i o n E x e c u tor。jav a:36)a t o rg。 g r a d le。 a pi。 i n t e r n al。 t a s ks。 e x e c u t i on。 E v e n t F i r i n g T a s k E x e c u t er。 e x e c u t e(E v e n t F i r i n g T a s k E x e c u ter。jav a:49)a t o rg。 g r a d le。 e x e c u t i on。予定 。 L o c a l T a s k N o d e E x e c u t or。 e x e c u t e(L o c a l T a s k N o d e E x e c u tor。jav a:43)a t o rg。 g r a d le。 e x e c u t i on。 t a s k g r a ph。 D efault T ask E xecution G raph CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:305)at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:175)at org.gradle.internal.operations.DefaultBuildOperationExecutor.call( DefaultBuildOperationExecutor.java:101)at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:49)at org org.gradle.execution.taskgraph.DefaultTaskExecutionGraphの.gradle.execution.plan.LocalTask​​NodeExecutor.execute(LocalTask​​NodeExecutor.java:43)InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:355)
org.gradle.execution.taskgraph.DefaultTaskExecutionGraphでI n v o k e N o d e E x e c u t o r s A c t i on。 e x e c u t e(D e f a u l t T a s k E x e c u t i o n G r aph。jav a:343)a t o rg。 g r a d le。 e x e c u t i on。 t a s k g r a ph。 D e f a u l t T a s k E x e c u t i o n G r a p h InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:343)at org.gradle.execution.taskgraph.DefaultTaskExecutionGraphBuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:336)
org.gradle.execution.taskgraph.DefaultTaskExecutionGraphでB u i l d O p e r a t i o n A w a r e E x e c u t i o n A c t i on。 e x e c u t e(D e f a u l t T a s k E x e c u t i o n G r aph。jav a:322)a t o rg。 g r a d le。 e x e c u t i on。予定 。 D e f a u l t P l a n E x e c u t o r BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:322)at org.gradle.execution.plan.DefaultPlanExecutorExecutorWorker1. e x e c u t e(D e f a u l t P l a n E x e c u tor。jav a:134)a t o rg。 g r a d le。 e x e c u t i on。予定 。 D e f a u l t P l a n E x e c u t o r 1.execute(DefaultPlanExecutor.java:134)at org.gradle.execution.plan.DefaultPlanExecutorExecutorWorker1. e x e c u t e(D e f a u l t P l a n E x e c u tor。jav a:129)a t o rg。 g r a d le。 e x e c u t i on。予定 。 D e f a u l t P l a n E x e c u t o r 1.execute(DefaultPlanExecutor.java:129)at org.gradle.execution.plan.DefaultPlanExecutorExecutorWorker.execute(DefaultPlanExecutor.java:202)
org.gradle.execution.plan.DefaultPlanExecutorでE x e c u t o r W o r k er。 e x e c u t e N e x t N o d e(D e f a u l t P l a n E x e c u tor。jav a:193)a t o rg。 g r a d le。 e x e c u t i on。予定 。 D e f a u l t P l a n E x e c u t o r ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:193)at org.gradle.execution.plan.DefaultPlanExecutorExecutorWorker.run(DefaultPlanExecutor.java:129)
org.gradle.internal.concurrent.ExecutorPolicy $ CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)で
org.gradle.internal.concurrent.ManagedExecutorImpl $ 1.run(ManagedExecutorImpl.java:46)で
java.util.concurrent.ThreadPoolExecutor.runWorkerで
エラーのソースコードは次のとおりです。

checkDebugDuplicateClasses org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:checkDebugDuplicateClasses'. at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:95) at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:91) at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:57) at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:119) at org.gradle.api.internal.tasks.execution.ResolvePreviousStateExecuter.execute(ResolvePreviousStateExecuter.java:43) at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:93) at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:45) at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:94) at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:56) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:55) at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:67) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:49) at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:315) at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:305) at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:175) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:101) at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:49) at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:43) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:355) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:343) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:336) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:322) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$1.execute(DefaultPlanExecutor.java:134) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$1.execute(DefaultPlanExecutor.java:129) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:202) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:193) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:129) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) at java.util.concurrent.ThreadPoolExecutor.runWorker

画像
コンソール出力結果



Cause 1: java.util.concurrent.ExecutionException: java.lang.RuntimeException: Duplicate class android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat found in modules classes.jar (com.android.support:support-compat:28.0.0) and classes.jar (com.android.support:support-v4:23.1.1) Duplicate class android.support.v4.app.ActionBarDrawerToggle found in modules classes.jar (com.android.support:support-core-ui:28.0.0) and classes.jar (com.android.support:support-v4:23.1.1) Duplicate class android.support.v4.app.ActionBarDrawerToggle$Delegate found in modules classes.jar (com.android.support:support-core-ui:28.0.0) and classes.jar (com.android.support:support-v4:23.1.1) Duplicate class android.support.v4.app.ActionBarDrawerToggle$DelegateProvider found in modules classes.jar (com.android.support:support-core-ui:28.0.0) and classes.jar (com.android.support:support-v4:23.1.1) Duplicate class android.support.v4.app.ActionBarDrawerToggle$SlideDrawable found in modules classes.jar (com.android.support:support-core-ui:28.0.0) and classes.jar (com.android.support:support-v4:23.1.1) Duplicate class android.support.v4.app.ActivityCompat found in modules classes.jar (com.android.support:support-compat:28.0.0) and classes.jar (com.android.support:support-v4:23.1.1) Duplicate class android.support.v4.app.ActivityCompat$1 found in modules classes.jar (com.android.support:support-compat:28.0.0) and classes.jar (com.android.support:support-v4:23.1.1)

解決:
gradle.propertiesに以下を追加します

android.useAndroidX=true android.enableJetifier=true

この記事は参照します