webentwicklung-frage-antwort-db.com.de

Build schlägt fehl mit 'Programmtyp bereits vorhanden: Android.Arch.core.util.Function'

Nach der Aktualisierung meiner Firebase- und Play Services-Abhängigkeiten sowie des Play Services-Plugins kann mein Projekt nicht erstellt werden. Ich habe mehrere Clean-Rebuilds ausprobiert und in meiner App ist MultiDex aktiviert. Das Wiederherstellen meiner ursprünglichen Abhängigkeitsversionen ist auch keine Option, da ich eine Abhängigkeit für Cloud-Funktionen hinzugefügt habe, für die die neueste Version nicht mit meinen anderen Firebase-Abhängigkeiten kompatibel ist. Ich kann unter Android-Problemen Folgendes sehen

Program type already present: Android.Arch.core.util.Function
Message{kind=ERROR, text=Program type already present:  Android.Arch.core.util.Function, sources=[Unknown source file], tool name=Optional.of(D8)}

Ich sehe auch eine Fehlermeldung unter Aufgaben ausführen

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.Java:100)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.Java:70)
at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.Java:51)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.Java:62)
at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.Java:54)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.Java:60)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.Java:97)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.Java:87)
at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.Java:52)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.Java:52)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.Java:54)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.Java:43)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.Java:34)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.Java:248)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.Java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.Java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.Java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.Java:110)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.Java:241)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.Java:230)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.Java:123)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.Java:79)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.Java:104)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.Java:98)
at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.Java:626)
at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.Java:581)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.Java:98)
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(ThreadPoolExecutor.Java:1142)
at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:617)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.Java:55)
at Java.lang.Thread.run(Thread.Java:745)
Caused by: Java.lang.RuntimeException: com.Android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: 

Meine gradle Abhängigkeiten

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    debugImplementation 'com.squareup.leakcanary:leakcanary-Android:1.5.4'
    releaseImplementation 'com.squareup.leakcanary:leakcanary-Android-no-op:1.5.4'
    implementation 'com.Android.support:multidex:1.0.3'

    //Android Support
    implementation 'com.Android.support:support-v13:27.1.1'
    implementation 'com.Android.support:appcompat-v7:27.1.1'
    implementation 'com.Android.support:design:27.1.1'
    implementation 'com.Android.support:recyclerview-v7:27.1.1'
    implementation "com.Android.support:cardview-v7:27.1.1"
    implementation "com.Android.support:customtabs:27.1.1"
    implementation 'com.Android.support.constraint:constraint-layout:1.1.0'
    implementation "com.Android.support:support-v4:27.1.1"

    //Firebase
    implementation 'com.google.firebase:firebase-core:16.0.0'
    implementation 'com.google.firebase:firebase-analytics:16.0.0'
    implementation 'com.google.firebase:firebase-appindexing:15.0.1'
    implementation 'com.google.firebase:firebase-auth:16.0.1' //Maintain compatibility with com.firebaseui:firebase-ui-firestore
    implementation 'com.google.firebase:firebase-firestore:17.0.1' //Maintain compatibility with com.firebaseui:firebase-ui-firestore
    implementation 'com.google.firebase:firebase-functions:16.0.1'
    implementation 'com.google.firebase:firebase-messaging:17.0.0'
    //implementation 'com.google.firebase:firebase-storage:16.0.1' //Maintain compatibility with com.firebaseui:firebase-ui-firestore
    implementation('com.crashlytics.sdk.Android:crashlytics:[email protected]') {
        transitive = true
    }
    //implementation 'com.google.firebase:firebase-invites:16.0.0'
    implementation 'com.google.firebase:firebase-config:16.0.0'

    //Google Play
    implementation 'com.google.Android.gms:play-services-ads:15.0.1'
    implementation 'com.google.Android.gms:play-services-places:15.0.1'
    implementation 'com.google.Android.gms:play-services-location:15.0.1'

    //Stream Support
    implementation 'net.sourceforge.streamsupport:Android-retrostreams:1.6.1'
    implementation 'net.sourceforge.streamsupport:Android-retroflow:1.6.1'
    implementation 'net.sourceforge.streamsupport:Android-retrofuture:1.6.1'

    //Location
    implementation 'io.nlopez.smartlocation:library:3.3.3'

    //Firebase UI
    implementation 'com.firebaseui:firebase-ui-firestore:4.0.0'

    //Facebook
    implementation 'com.facebook.Android:facebook-login:4.31.0'

    //Search
    implementation 'com.algolia:algoliasearch-Android:3.14.1'

    //Butterknife
    implementation 'com.jakewharton:butterknife:8.8.1'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'

    //UI Elements for layout staggering
    implementation 'com.google.Android:flexbox:0.3.2'

    //Image Handling Library
    implementation 'com.facebook.fresco:fresco:1.8.0'

    // UI Element for Country-code
    implementation 'com.hbb20:ccp:2.1.2'

    // UI Element for OTP
    implementation 'com.github.GoodieBag:Pinview:v1.3'

    //Loading indicator using shimmer
    implementation 'io.supercharge:shimmerlayout:2.0.0'

    //UI Element for Tooltip
    implementation 'it.sephiroth.Android.library.targettooltip:target-tooltip-library:1.3.15'

    //Date/Time Pickers for Hangout Creation
    implementation 'com.wdullaer:materialdatetimepicker:3.5.1'

    //UI Element from Drop-down boxes
    implementation('com.weiwangcn.betterspinner:library-material:1.1.0') {
        exclude group: 'com.Android.support', module: 'appcompat-v7'
        exclude group: 'com.Android.support', module: 'appcompat-v4'
    }

    //JSON Handling
    implementation 'com.google.code.gson:gson:2.8.2'

    //Permissions using RxPermissions
    implementation 'com.tbruyelle.rxpermissions2:rxpermissions:[email protected]'

    //RxBindings for Platform
    implementation 'com.jakewharton.rxbinding2:rxbinding:2.1.1'
    implementation 'com.jakewharton.rxbinding2:rxbinding-recyclerview-v7:2.1.1'
    implementation 'com.jakewharton.rxbinding2:rxbinding-appcompat-v7:2.1.1'
    implementation 'com.jakewharton.rxbinding2:rxbinding-design:2.1.1'

    //Logging
    implementation 'com.jakewharton.timber:timber:4.6.0'

    //Testing
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.Android.support.test:runner:1.0.2'
    androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.2'
}
21
Karan Modi

Mein Projekt arbeitet mit der neuesten Version von firebase core, database, messaging and auth Abhängigkeiten und dem neuesten classpath 'com.google.gms:google-services:4.0.1'

App/build.gradle

dependencies {

    // Tab Layout and ViewPager
    implementation 'com.Android.support:design:27.1.1'

    // firebase dependencies
    // implementation 'com.firebaseui:firebase-ui-database:4.0.0' Source of error
    implementation 'com.google.firebase:firebase-core:16.0.0'
    implementation 'com.google.firebase:firebase-database:16.0.1'
    implementation 'com.google.firebase:firebase-messaging:17.0.0'
    implementation 'com.google.firebase:firebase-auth:16.0.1'
}

build.gradle

buildscript {
    dependencies {
        classpath 'com.Android.tools.build:gradle:3.1.2'


        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
        classpath 'com.google.gms:google-services:4.0.1'
    }
}

Das Problem tritt auf, wenn implementation 'com.firebaseui:firebase-ui-database:4.0.0' hinzugefügt wird.

Es zeigt diesen Fehler:

Programmtyp bereits vorhanden: Android.Arch.core.util.Function

Nachricht {kind = ERROR, text = Programmtyp bereits vorhanden: Android.Arch.core.util.Function, sources = [Unbekannte Quelldatei], Werkzeugname = Optional.of (D8)}

Die Lösung bestand darin, implementation 'com.firebaseui:firebase-ui-database:4.0.0' wie folgt auf implementation 'com.firebaseui:firebase-ui-database:3.3.1' herunterzustufen:

App/build.gradle

dependencies {

    // Tab Layout and ViewPager
    implementation 'com.Android.support:design:27.1.1'

    // firebase dependencies
    implementation 'com.firebaseui:firebase-ui-database:3.1.1' // No trouble in compiling
    implementation 'com.google.firebase:firebase-core:16.0.0'
    implementation 'com.google.firebase:firebase-database:16.0.1'
    implementation 'com.google.firebase:firebase-messaging:17.0.0'
    implementation 'com.google.firebase:firebase-auth:16.0.1'
}

Ich hoffe, Google wird dieses Problem in zukünftigen Updates beheben.

Hoffe das hat geholfen!

16
Omar Abdelhafiz

Ich habe die Lösung gefunden, die einige tolle Leute auf GitHub gepostet haben. Anstatt Ihre firebaseUI-Datenbank nicht herunterzurüsten, können Sie allgemeine und Laufzeitabhängigkeiten von Arch hinzufügen. Dies sind die folgenden:

//Arch
    implementation "Android.Arch.core:runtime:1.1.1"
    implementation "Android.Arch.core:common:1.1.1"

Fügen Sie diese einfach in Ihren App: Modul-Abhängigkeitsbereich ein und Sie können sie erstellen.

44
Aditya Tandon

Die Lösung besteht darin, die folgende Implementierung in Ihrem build.gradle in Android Studio hinzuzufügen. Hoffe, es hilft.

 implementation "Android.Arch.core:runtime:$version"
 implementation "Android.Arch.core:common:$version"
1
johnwebi

Versuchen Sie, Gradle-Dateien zu ersetzen durch:

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:3.1.2'
        classpath 'com.google.gms:google-services:3.2.1'
    }
}

allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
        jcenter()
        google()
    }
}

Und Modul: app grandle mit:

apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 27
    buildToolsVersion "27.0.3"

    defaultConfig {
        applicationId "com.example.myapp"
        minSdkVersion 16
        targetSdkVersion 27
        multiDexEnabled true
    }

    buildTypes {

        debug{
            debuggable true
            minifyEnabled false
        }
        release {
            debuggable false
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-project.txt'
        }
    }
    dexOptions {
        javaMaxHeapSize "4g"
    }


    repositories {
        jcenter()
        google()
        maven { url 'https://maven.google.com' }
    }



}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    debugImplementation 'com.squareup.leakcanary:leakcanary-Android:1.5.4'
    releaseImplementation 'com.squareup.leakcanary:leakcanary-Android-no-op:1.5.4'

    implementation 'com.Android.support:multidex:1.0.3'
    //Android Support
    implementation 'com.Android.support:support-v13:27.1.1'
    implementation 'com.Android.support:appcompat-v7:27.1.1'
    implementation 'com.Android.support:design:27.1.1'
    implementation 'com.Android.support:recyclerview-v7:27.1.1'
    implementation "com.Android.support:cardview-v7:27.1.1"
    implementation "com.Android.support:customtabs:27.1.1"
    implementation 'com.Android.support.constraint:constraint-layout:1.1.0'
    implementation "com.Android.support:support-v4:27.1.1"

    //Firebase
    implementation 'com.google.firebase:firebase-core:16.0.0'
    implementation 'com.google.firebase:firebase-analytics:16.0.0'
    implementation 'com.google.firebase:firebase-appindexing:15.0.1'
    implementation 'com.google.firebase:firebase-auth:16.0.1' //Maintain compatibility with com.firebaseui:firebase-ui-firestore
    implementation 'com.google.firebase:firebase-firestore:17.0.1' //Maintain compatibility with com.firebaseui:firebase-ui-firestore
    implementation 'com.google.firebase:firebase-functions:16.0.1'
    implementation 'com.google.firebase:firebase-messaging:17.0.0'
    //implementation 'com.google.firebase:firebase-storage:16.0.1' //Maintain compatibility with com.firebaseui:firebase-ui-firestore
    implementation('com.crashlytics.sdk.Android:crashlytics:[email protected]') {
        transitive = true
    }
    //implementation 'com.google.firebase:firebase-invites:16.0.0'
    implementation 'com.google.firebase:firebase-config:16.0.0'

    //Google Play
    implementation 'com.google.Android.gms:play-services-ads:15.0.1'
    implementation 'com.google.Android.gms:play-services-places:15.0.1'
    implementation 'com.google.Android.gms:play-services-location:15.0.1'

    //Stream Support
    implementation 'net.sourceforge.streamsupport:streamsupport:1.6.0'
    implementation 'net.sourceforge.streamsupport:streamsupport-cfuture:1.6.0'
    implementation 'net.sourceforge.streamsupport:streamsupport-atomic:1.6.0'
    implementation 'net.sourceforge.streamsupport:streamsupport-flow:1.6.0'
    implementation 'net.sourceforge.streamsupport:streamsupport-literal:1.6.0'

    //Location
    implementation 'io.nlopez.smartlocation:library:3.3.3'

    //Firebase UI
    implementation 'com.firebaseui:firebase-ui-firestore:4.0.0'

    //Facebook
    implementation 'com.facebook.Android:facebook-login:4.32.0'

    //Search
    implementation 'com.algolia:algoliasearch-Android:3.14.1'

    //Butterknife
    implementation 'com.jakewharton:butterknife:8.8.1'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'

    //UI Elements for layout staggering
    implementation 'com.google.Android:flexbox:0.3.2'

    //Image Handling Library
    implementation 'com.facebook.fresco:fresco:1.8.0'

    // UI Element for Country-code
    implementation 'com.hbb20:ccp:2.1.2'

    // UI Element for OTP
    implementation 'com.github.GoodieBag:Pinview:v1.3'

    //Loading indicator using shimmer
    implementation 'io.supercharge:shimmerlayout:2.0.0'

    //UI Element for Tooltip
    implementation 'it.sephiroth.Android.library.targettooltip:target-tooltip-library:1.3.15'

    //Date/Time Pickers for Hangout Creation
    implementation 'com.wdullaer:materialdatetimepicker:3.5.1'

    //UI Element from Drop-down boxes
    implementation('com.weiwangcn.betterspinner:library-material:1.1.0') {
        exclude group: 'com.Android.support', module: 'appcompat-v7'
        exclude group: 'com.Android.support', module: 'appcompat-v4'
    }

    //JSON Handling
    implementation 'com.google.code.gson:gson:2.8.2'

    //Permissions using RxPermissions
    implementation 'com.tbruyelle.rxpermissions2:rxpermissions:[email protected]'

    //RxBindings for Platform
    implementation 'com.jakewharton.rxbinding2:rxbinding:2.1.1'
    implementation 'com.jakewharton.rxbinding2:rxbinding-recyclerview-v7:2.1.1'
    implementation 'com.jakewharton.rxbinding2:rxbinding-appcompat-v7:2.1.1'
    implementation 'com.jakewharton.rxbinding2:rxbinding-design:2.1.1'

    //Logging
    implementation 'com.jakewharton.timber:timber:4.6.0'

    //Testing
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.Android.support.test:runner:1.0.2'
    androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.2'
}

apply plugin: 'com.google.gms.google-services'
0

Programmtyp bereits vorhanden: Android.Arch.core.util.Function Nachricht {kind = ERROR, text = Programmtyp bereits vorhanden: Android.Arch.core.util.Function, sources = [Unbekannte Quelldatei], Werkzeugname = Optional.von (D8)}

Ich hatte das gleiche Problem wie oben, und ich hatte den Kern nicht dabei.

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

Einige Ihrer Abhängigkeiten sind 16.0.1. Sie sollten den Core auf 16.0.1 statt auf 16.0.0 aktualisieren.

Habe meine Abhängigkeit unten als Referenz beigefügt. Ich hoffe, Sie finden es nützlich.

implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'com.google.firebase:firebase-database:16.0.1'
implementation 'com.firebaseui:firebase-ui-database:4.1.0'
0
lonelearner