DexArchiveMergerException Тип программы уже присутствует: aaa - PullRequest
0 голосов
/ 19 октября 2019

Я получаю это исключение:

AGPBI: {"kind": "error", "text": "Тип программы уже присутствует: aaa", "sources": [{}], "tool": "D8"} com.android.builder.dexing.DexArchiveMergerException: ошибка при объединении архивов dex: узнайте, как решить проблему в https://developer.android.com/studio/build/dependencies#duplicate_classes. Тип программы уже присутствует: aaa в com.android.builderс.java: 102) на com.android.build.gradle.internal.tasks.DexMergingTaskRunnable.run (DexMergingTask.kt: 444) на com.android.build.gradle.internal.tasks.Workers $ ActionFacade.run (Workers.kt: 335) в org.gradle.workers.internal.DefaultWorkerServer.execute (DefaultWorkerServer.java:39) в org.gradle.workers.internal.NoIsolationWorkerFactory $ 1 $ exextete (NoIsolationWorkerFactory.java:61) в org.gradle.workers.internal.AbstractWorker $ 1.call (AbstractWorker.java:44) в org.gradle.workers.internal.AbstractWorker $ 1.call (AbstractWorker.java:41) в org.gradle.internal.operations.DefaultBuildOperationExecutor $. CallableBuildOperationWorker.execute (DefaultBuildOperationExecutor.java:416) по адресу org.gradle.internal.operations.DefaultBuildOperationExecutor $ CallableBuildOperationWorker.execute (DefaultBuildOperationExecutor.jternal:40exexcess.Ouист. вызов (DefaultBuildOperationExecutor.java:102) в org.gradle.internal.operations.DelegatingBuildOperationExecutor.call (DelegatingBuildOperationExecutor.java:36) в орг. gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation (AbstractWorker.java:41) в org.gradle.workers.internal.NoIsolationWorkerFactory $ 1.execute (NoIsolationWorkerFactory.java:55) в org.graternalExWorksDefaultWorkerExecutor.java:105) в org.gradle.workers.internal.DefaultWorkerExecutor $ 1.call (DefaultWorkerExecutor.java:99) в java.util.concurrent.FutureTask.run (FutureTask.java:266) в org.gradle.internal. work.DefaultConditionalExecutionQueue $ ExecutionRunner.runExecution (DefaultConditionalExecutionQueue.java:215) в org.gradle.internal.work.DefaultConditionalExecutionQueue $ ExecutionRunner.runBatch (DefaultConditionalExecutionQueue.java:16ueternal.unueDefaultConditionalExecutionQueue.java:131) в java.util.concurrent.Executors $ RunnableAdapter.call (Executors.java:511) в java.util.concurrent.FutureTask.run (FutureTask.java:266) в org.gradle.rentternal.con.ExecutorПолитика $ CatchAndRecordFailures.onExecute (ExecutorPolicy.java:63) по адресу org.gradle.internal.concurrent.ManagedExecutorImpl $ 1.run (ManagedExecutorImpl.java:46) по адресу java.util.concurrent.ThreadPoolExececer.owjjava.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:624) в org.gradle.internal.concurrent.ThreadFactoryImpl $ ManagedThreadRunnable.run (ThreadFactoryImpl.java:55) в потоке java.lang. Java: 748) Причина: com.android.tools.r8.CompilationFailedException: не удалось завершить компиляцию на com.android.tools.r8.utils.ta (: 55) на com.android.tools.r8.D8.run (: 11) на com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives (D8DexArchiveMerger.java:116)... еще 30 причин: com.android.tools.r8.utils.AbortException: ошибка: тип программы уже присутствует: aaa на com.android.tools.r8.utils.Reporter.a (: 21) на com.android.tools.r8.utils.Reporter.a (: 7) на com.android.tools.r8.utils.ta (: 36) ... еще 32

FAILURE: сборка завершилась с исключением.

  • Что пошло не так: не удалось выполнить задачу ': app: mergeDexProdRelease'.

    Ошибка при выполнении com.android.build.gradle.internal.tasks.Workers $ ActionFacade com.android.builder.dexing.DexArchiveMergerException: ошибка при объединении архивов dex: узнайте, как решить проблему в1013 *https://developer.android.com/studio/build/dependencies#duplicate_classes. Тип программы уже существует: aaa

Я не уверен, что этот файл много значит для поиска, но не удалось создать сборку.

Я использую следующие зависимости:

implementation fileTree(include: ['*.jar'], dir: 'libs')

implementation 'androidx.legacy:legacy-support-v4:1.0.0'

implementation 'androidx.recyclerview:recyclerview:1.0.0'

implementation 'androidx.cardview:cardview:1.0.0'

implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

implementation 'com.google.android.material:material:1.0.0'

implementation 'org.jetbrains.kotlin:kotlin-stdlibjdk7:1.3.50'

implementation 'androidx.lifecycle:lifecycle-runtime:2.2.0-alpha03'

implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0-alpha03'

implementation 'androidx.lifecycle:lifecycle-reactivestreams:2.2.0-alpha03'
implementation 'com.squareup.retrofit2:retrofit:2.5.0'

implementation 'com.squareup.retrofit2:converter-gson:2.3.0'

implementation 'com.squareup.retrofit2:adapter-rxjava2:2.5.0'

implementation 'com.squareup.okhttp3:logging-interceptor:3.11.0'

implementation 'io.reactivex.rxjava2:rxkotlin:2.3.0'

implementation 'com.facebook.stetho:stetho-okhttp3:1.5.0'

implementation 'com.squareup.picasso:picasso:2.71828'

implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'

implementation 'com.daimajia.swipelayout:library:1.2.0@aar'

implementation 'com.chauthai.swipereveallayout:swipe-reveal-layout:1.4.1'

implementation 'androidx.multidex:multidex:2.0.1'

implementation 'com.google.android.gms:play-services-vision:18.0.0'

implementation 'io.card:android-sdk:5.5.1'

implementation 'com.localytics.android:library:5.6.1'

implementation(project(':SA')) {transitive = true}
implementation 'net.zetetic:android-database-sqlcipher:4.0.1@aar'

implementation 'androidx.legacy:legacy-support-v4:1.0.0'


implementation 'com.adobe.mobile:adobeMobileLibrary:4.13.7'

implementation 'com.newrelic.agent.android:android-agent:5.22.1'

implementation 'androidx.camera:camera-core:1.0.0-alpha03'

implementation 'androidx.camera:camera-camera2:1.0.0-alpha03'

implementation 'androidx.appcompat:appcompat:1.1.0-rc01'

implementation 'com.google.android.gms:play-services-ads-identifier:16.0.0'

implementation(project(':SA')) {      transitive = true   }

implementation 'com.android.installreferrer:installreferrer:1.0'

implementation 'androidx.room:room-runtime:2.1.0'

implementation 'de.hdodenhof:circleimageview:3.0.0'

annotationProcessor 'androidx.room:room-compiler:2.1.0'

implementation 'com.jaeger.statusbarutil:library:1.4.0'

implementation 'com.sasank.roundedhorizontalprogress:roundedhorizontalprogress:1.0.1'

testImplementation 'junit:junit:4.12'

testImplementation 'org.mockito:mockito-core:2.19.0'

androidTestImplementation 'androidx.test:runner:1.2.0'

androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'

implementation 'com.google.firebase:firebase-core:16.0.7'

implementation 'com.google.firebase:firebase-messaging:19.0.0'

implementation 'com.google.firebase:firebase-ml-vision:21.0.0'

implementation 'me.saket:better-link-movement-method:2.2.0'

implementation 'com.tbuonomo.andrui:viewpagerdotsindicator:4.0'

implementation 'com.google.ar.sceneform.ux:sceneform-ux:1.11.0'`

Поэтому я обновил это: implementation(project(':SA')) {transitive = true }

до implementation files('libs/SA.aar')

Теперь я получаю эту ошибку:

java.lang.RuntimeException: Duplicate class a.a.a found in modules classes.jar (SA.aar) and classes.jar (com.google.ar:core:1.12.0)
  Duplicate class a.a.b found in modules classes.jar (SA.aar) and classes.jar (com.google.ar:core:1.12.0)
  Duplicate class com.google.a.a.a found in modules classes.jar (SA.aar) and classes.jar (com.google.ar:core:1.12.0)
  Duplicate class com.google.a.a.b found in modules classes.jar (SA.aar) and classes.jar (com.google.ar:core:1.12.0)

Как мне решить эту проблему?

Ответы [ 2 ]

1 голос
/ 19 октября 2019

Итак, у вас здесь запутанная сборка, попробуйте сначала отключить эту запутанность и посмотрите, не исчезла ли проблема.

Если проблема не исчезнет, ​​то, скорее всего, она покажет вам действующий висячий класс, который - в большинстве случаев - указываетперед вами одна или несколько библиотек, которые зависят от конфликтующей сторонней зависимости, и в этом случае вы просто exclude будете указывать эту зависимость от транзитивного включения в вашу сборку.

Если она не сохраняется в не-запутанная сборка, проверьте файл символов, чтобы узнать имя класса / типа программы a.a.a, к которой был запутан. Этот файл обычно находится где-то под app/build/outputs/**/mapping.txt.

. Это также может быть временная проблема, в этом случае выполните чистую сборку и повторите попытку.

0 голосов
/ 26 октября 2019

Видя, что ваш файл build.gradle выглядит, вы добавили устаревшую библиотеку и ваш SA-модуль дважды

implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation(project(':SA')) {transitive = true}

Виновником является второйone.

Может быть, это может быть ваша проблема, поскольку ошибка говорит о дубликатах.

Попытка удаление то же самое или, возможно, вы не мне нужна устаревшая библиотека сама, я думаю.

Потому что иногда она добавляется в мой build.gradle автоматически , и мне приходится удалять это вручную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...