Câu hỏi Không thành công với 'Loại chương trình đã có: android.arch.core.util.Function'


Sau khi cập nhật các phụ thuộc của Firebase và Dịch vụ Play cũng như Plugin dịch vụ của Play, dự án của tôi không thể xây dựng được. Tôi đã thử nhiều Clean-Rebuilds và ứng dụng của tôi đã bật MultiDex. Việc hoàn nguyên về các phiên bản phụ thuộc ban đầu của tôi cũng không phải là một tùy chọn khi tôi thêm một phụ thuộc cho các chức năng đám mây mà phiên bản mới nhất không tương thích với các phụ thuộc firebase khác của tôi. Tôi có thể thấy những điều sau trong Vấn đề Android

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)}

Tôi cũng thấy thông báo lỗi trong Chạy tác vụ

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: 

Phụ thuộc gradle của tôi

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:2.9.1@aar') {
        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:0.9.5@aar'

    //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'
}

13
2018-05-25 08:21


gốc


phiên bản của dịch vụ google? - Paraskevas Ntsounos
Dự án của tôi hoạt động với phiên bản mới nhất của firebase core, database, messaging and auth phụ thuộc và mới nhất classpath 'com.google.gms:google-services:4.0.1' vấn đề phát triển khi thêm implementation 'com.firebaseui:firebase-ui-database:4.0.0' nó cho thấy lỗi này 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)} - Omar Abdelhafiz
Đối với tôi, hạ cấp phụ thuộc gây ra sự cố đã giải quyết được vấn đề 'com.firebaseui:firebase-ui-database:3.3.1' - Omar Abdelhafiz
@ParaskevasNtsounos 'com.google.gms: google-services: 4.0.1' - Karan Modi
Hạ cấp Firebase-UI xuống phiên bản 3.3.1 dựa trên nhận xét của @ OmarAbdelhafiz và sử dụng firebase-firestore: 15.0.0 dường như ít nhất cũng có được công trình để thành công. Nhưng điều này thực sự không bền vững vì có lúc tôi muốn có thể sử dụng các phụ thuộc cập nhật. - Karan Modi


Các câu trả lời:


Dự án của tôi hoạt động với phiên bản mới nhất của firebase core, database, messaging and auth phụ thuộc và mới nhất 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'
    }
}

Vấn đề phát triển khi thêm implementation 'com.firebaseui:firebase-ui-database:4.0.0'

Nó cho thấy lỗi này:

Loại chương trình đã có: android.arch.core.util.Function

Thông báo {type = ERROR, văn bản = Loại chương trình đã có: android.arch.core.util.Function, sources = [Unknown source file], tên công cụ = Optional.of (D8)}

Giải pháp là hạ cấp implementation 'com.firebaseui:firebase-ui-database:4.0.0' đến implementation 'com.firebaseui:firebase-ui-database:3.3.1' như sau:

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'
}

Tôi hy vọng Google sẽ giải quyết vấn đề này trong các bản cập nhật trong tương lai.

Hy vọng đã giúp!


12
2018-05-26 14:17



Ngoài ra, phụ thuộc vào firestore tương thích là 'com.google.firebase: firebase-firestore: 15.0.0' - Karan Modi


Tôi tìm thấy giải pháp mà một số anh chàng tuyệt vời được đăng trên GitHub. Thay vì hạ cấp cơ sở dữ liệu firebaseUI của bạn, bạn có thể thêm các phụ thuộc chung và thời gian chạy của khung là:

//Arch
    implementation "android.arch.core:runtime:1.1.1"
    implementation "android.arch.core:common:1.1.1"

Chỉ cần thêm chúng trong ứng dụng của bạn: phần phụ thuộc mô-đun và bạn biết xây dựng nó.


15
2018-06-21 20:10



nó không hiệu quả với tôi - user365314
phiên bản firebaseUI bạn đang sử dụng trong các phụ thuộc của bạn - Aditya Tandon
tìm thấy nó trong một trong các ví dụ về Firebase của Google. Tuy nhiên, bạn chỉ cần thời gian chạy mà không có chung. - Hesham Yassin
Vâng đúng. nhưng tôi đã thêm thông thường chỉ để được ở bên an toàn. - Aditya Tandon
vâng công việc của nó đối với tôi. - Farhan Ali


Thử thay thế các tệp gradle bằng:

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()
    }
}

Và Module: app grandle với:

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:2.9.1@aar') {
        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:0.9.5@aar'

    //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
2018-05-25 08:41



Không làm việc cho tôi. Có lẽ trong trường hợp của tôi là một số xung đột giữa các phụ thuộc gây ra bởi: com.android.dex.DexException: Nhiều tệp dex xác định Lcom / google / android / gms / nội bộ / đo lường / zzxk - Pl4yeR
"minSdkVersion 24 <- Vì lỗi hiển thị sdk android-retrostreams-1.6.1.jar thấp hơn". Bạn phải làm điều gì đó sai rồi. android-retrostreams chắc chắn không có cái đó minSdkVersion 24 yêu cầu. - Sartorius
Lý thuyết của bạn là sai. Cả hai android-retrostreams và streamsupport làm việc tốt với một minSdkVersion của 14 hoặc là 15. - Sartorius
vâng tôi sửa chữa asnwer của tôi tập tin grandle đầu tiên bỏ lỡ một số thư viện từ net.sourceforge.streamsupport vì vậy bây giờ nó hoạt động hoàn hảo với sdk phiên bản 16, tôi thay đổi câu trả lời của tôi @ KaraModi bạn có thể kiểm tra mã - Paraskevas Ntsounos
Tôi là hợp lý nhất định đây là một firebase hoặc dịch vụ google phụ thuộc cụ thể vấn đề như không có gì khác đã được thay đổi trước khi xây dựng thất bại. - Karan Modi


Loại chương trình đã có: android.arch.core.util.Function Thông báo {type = ERROR, văn bản = Loại chương trình đã có: android.arch.core.util.Function, sources = [Unknown source file], tên công cụ = Optional.of (D8)}

Tôi đã có cùng một vấn đề ở trên, và đó là bởi vì tôi không bao gồm cốt lõi.

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

Lưu ý một số phụ thuộc của bạn là 16.0.1, sẽ đề nghị bạn nâng cấp lõi lên 16.0.1 thay vì 16.0.0.

Đã đính kèm phụ thuộc của tôi dưới đây để tham khảo, hy vọng bạn thấy nó hữu ích.

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
2017-07-22 16:39



Vào thời điểm vấn đề này được đăng, com.google.firebase: firebase-core: 16.0.0 là phiên bản mới nhất có sẵn. - Karan Modi
Dù sao nếu nó thực sự không hoạt động, hãy thử sử dụng phiên bản cũ hơn: triển khai 'com.firebaseui: firebase-ui-database: 0.4.1' - lonelearner