React Native: com.android.build.api.transform.TransformException: ошибка при генерации основного списка dex - PullRequest
0 голосов
/ 05 ноября 2018

Я ничего не изменил, и теперь мой проект не работает. Я получаю эту ошибку с утра:

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

    com.android.build.api.transform.TransformException: ошибка при генерации основного списка dex.

Я попытался реализовать multiDexEnabled. В свой build.gradle я добавил multiDexEnabled так:

android {
    compileSdkVersion rootProject.ext.compileSdkVersion
    buildToolsVersion rootProject.ext.buildToolsVersion

    defaultConfig {
        applicationId "com.myApp"
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        multiDexEnabled true
        versionCode 8
        versionName "1.3"
        ndk {
            abiFilters "armeabi-v7a", "x86"
        }
    }

Это мои зависимости

dependencies {
    implementation project(':react-native-firebase')
    implementation project(':react-native-video')
    implementation project(':react-native-vector-icons')
    implementation project(':react-native-touch-id')
    implementation project(':react-native-picker')
    implementation(project(':react-native-maps')) {
      exclude group: 'com.google.android.gms', module: 'play-services-base'
      exclude group: 'com.google.android.gms', module: 'play-services-maps'
    }
    implementation 'com.google.android.gms:play-services-base:+'
    implementation 'com.google.android.gms:play-services-maps:+'

    implementation project(':react-native-keychain')
    implementation project(':react-native-image-picker')
    implementation project(':react-native-google-analytics-bridge')
    implementation project(':react-native-device-info')
    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
    implementation 'com.android.support:multidex:1.0.3'
    implementation "com.facebook.react:react-native:+"  // From node_modules
    implementation "com.google.firebase:firebase-core:16.0.4"
    implementation "com.google.firebase:firebase-messaging:17.3.4"
    implementation 'me.leolin:ShortcutBadger:1.1.21@aar'
}

Также я меняю свое приложение для MultiDexApplication так:

import android.support.multidex.MultiDexApplication;

public class MainApplication extends MultiDexApplication implements ReactApplication {
...
}

А это трассировка стека ошибки

FAILURE: сборка не удалась, исключение.

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

    com.android.build.api.transform.TransformException: ошибка при генерации основного списка dex.

  • Попробуйте: Запустите с параметром --info или --debug, чтобы получить больше вывода журнала. Запустите --scan, чтобы получить полную информацию.

  • Исключение составляют: org.gradle.api.tasks.TaskExecutionException: не удалось выполнить задачу ': app: transformClassesWithMultidexlistForDebug'. в org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions (ExecuteActionsTaskExecuter.java:100) в org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute (ExecuteActionsTaskExecuter.java:70) в org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute (OutputDirectoryCreatingTaskExecuter.java:51) в org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute (SkipUpToDateTaskExecuter.java:62) в org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute (ResolveTaskOutputCachingStateExecuter.java:54) в org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute (ValidatingTaskExecuter.java:60) в org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute (SkipEmptySourceFilesTaskExecuter.java:97) в org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute (CleanupStaleOutputsExecuter.java:87) в org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute (ResolveTaskArtifactStateTaskExecuter.java:52) в org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute (SkipTaskWithNoActionsExecuter.java:52) в org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute (SkipOnlyIfTaskExecuter.java:54) в org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute (ExecuteAtMostOnceTaskExecuter.java:43) в org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute (CatchExceptionTaskExecuter.java:34) в org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker $ 1.run (DefaultTaskGraphExecuter.java:248) в org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute (DefaultBuildOperationExecutor.java:336) в org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute (DefaultBuildOperationExecutor.java:328) в org.gradle.internal.progress.DefaultBuildOperationExecutor.execute (DefaultBuildOperationExecutor.java:199) в org.gradle.internal.progress.DefaultBuildOperationExecutor.run (DefaultBuildOperationExecutor.java:110) в org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker.execute (DefaultTaskGraphExecuter.java:241) в org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker.execute (DefaultTaskGraphExecuter.java:230) в org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker.processTask (DefaultTaskPlanExecutor.java:123)в org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker.access $ 200 (DefaultTaskPlanExecutor.java:79) в org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker $ 1.execute (DefaultTaskPlanExecutor.java:104) в org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker $ 1.execute (DefaultTaskPlanExecutor.java:98) в org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute (DefaultTaskExecutionPlan.java:626) в org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask (DefaultTaskExecutionPlan.java:581) в org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker.run (DefaultTaskPlanExecutor.java:98) в org.gradle.internal.concurrent.ExecutorPolicy $ CatchAndRecordFailures.onExecute (ExecutorPolicy.java:63) в org.gradle.internal.concurrent.ManagedExecutorImpl $ 1.run (ManagedExecutorImpl.java:46) в org.gradle.internal.concurrent.ThreadFactoryImpl $ ManagedThreadRunnable.run (ThreadFactoryImpl.java:55) Причина: java.lang.RuntimeException: com.android.build.api.transform.TransformException: Ошибка при создании основного списка dex. в com.android.builder.profile.Recorder $ Block.handleException (Recorder.java:55) на com.android.builder.profile.ThreadRecorder.record (ThreadRecorder.java:104) на com.android.build.gradle.internal.pipeline.TransformTask.transform (TransformTask.java:212) в org.gradle.internal.reflect.JavaMethod.invoke (JavaMethod.java:73) в org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute (IncrementalTaskAction.java:46) в org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute (StandardTaskAction.java:39) в org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute (StandardTaskAction.java:26) в org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter $ 1.run (ExecuteActionsTaskExecuter.java:121) в org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute (DefaultBuildOperationExecutor.java:336) в org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute (DefaultBuildOperationExecutor.java:328) в org.gradle.internal.progress.DefaultBuildOperationExecutor.execute (DefaultBuildOperationExecutor.java:199) в org.gradle.internal.progress.DefaultBuildOperationExecutor.run (DefaultBuildOperationExecutor.java:110) в org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction (ExecuteActionsTaskExecuter.java:110) в org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions (ExecuteActionsTaskExecuter.java:92) ... еще 29 Вызвано: com.android.build.api.transform.TransformException: Ошибка при генерации основного списка dex. в com.android.build.gradle.internal.transforms.D8MainDexListTransform.transform (D8MainDexListTransform.kt: 127) на com.android.build.gradle.internal.pipeline.TransformTask $ 2.call (TransformTask.java:221) на com.android.build.gradle.internal.pipeline.TransformTask $ 2.call (TransformTask.java:217) на com.android.builder.profile.ThreadRecorder.record (ThreadRecorder.java:102) ... еще 41 Вызывается: com.android.builder.multidex.D8MainDexList $ MainDexListException: com.android.tools.r8.errors.CompilationError: Тип программы уже присутствует: com.google.android.gms.internal.measurement.zzsh на com.android.builder.multidex.D8MainDexList.generate (D8MainDexList.java:87) в com.android.build.gradle.internal.transforms.D8MainDexListTransform.transform (D8MainDexListTransform.kt: 114) ... еще 44 Вызывается: com.android.tools.r8.errors.CompilationError: Тип программы уже присутствует: com.google.android.gms.internal.measurement.zzsh на com.android.tools.r8.utils.ProgramClassCollection.resolveClassConflictImpl (ProgramClassCollection.java:64) на com.android.tools.r8.utils.ProgramClassCollection.lambda $ create $ 0 (ProgramClassCollection.java:25)на com.android.tools.r8.utils.ProgramClassCollection.create (ProgramClassCollection.java:24) на com.android.tools.r8.graph.LazyLoadedDexApplication $ Builder.build (LazyLoadedDexApplication.java:121) на com.android.tools.r8.dex.ApplicationReader.read (ApplicationReader.java:122) на com.android.tools.r8.dex.ApplicationReader.read (ApplicationReader.java:86) на com.android.tools.r8.GenerateMainDexList.run (GenerateMainDexList.java:40) на com.android.tools.r8.GenerateMainDexList.run (GenerateMainDexList.java:110) на com.android.builder.multidex.D8MainDexList.generate (D8MainDexList.java:83) ... еще 45

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

Ответы [ 2 ]

0 голосов
/ 01 января 2019

Вставьте это в app.gradle ниже defaultConfig {}. У меня это сработало

compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }

0 голосов
/ 07 ноября 2018

Наконец-то все заработало

Приложение / build.gradle

    dependencies {
        implementation ("com.google.firebase:firebase-core:16.0.5")
        implementation ("com.google.firebase:firebase-messaging:17.3.4")
    ...
}

build.gradle и

dependencies {
        classpath 'com.android.tools.build:gradle:3.1.4'
        classpath 'com.google.gms:google-services:4.2.0'

Также я должен добавить, что https://firebase.google.com/support/release-notes/android#latest_sdk_versions сказал, что самое последнее для ядра firebase было 16.0.4, но у меня это не сработало

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