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'
}
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!
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.
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"
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'
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'