Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase android性能NoClassDefFoundError->;火基连接_Android_Firebase_Noclassdeffounderror_Firebase Performance - Fatal编程技术网

Firebase android性能NoClassDefFoundError->;火基连接

Firebase android性能NoClassDefFoundError->;火基连接,android,firebase,noclassdeffounderror,firebase-performance,Android,Firebase,Noclassdeffounderror,Firebase Performance,有人面临同样的问题吗?将firebase性能添加到项目后,启动应用程序后立即发生错误。它只是在调试版本中崩溃,在发布版本中一切都按预期工作。也许有人有真正的答案,因为我在类似的问题中所发现的都是用试错法来处理图书馆版本。多重索引已启用 错误: E/AndroidRuntime: FATAL EXCEPTION: RxCachedThreadScheduler-2 Process: {PROJECT PACKAGE}, PID: 9872 io.reactivex.exceptions.Undel

有人面临同样的问题吗?将firebase性能添加到项目后,启动应用程序后立即发生错误。它只是在调试版本中崩溃,在发布版本中一切都按预期工作。也许有人有真正的答案,因为我在类似的问题中所发现的都是用试错法来处理图书馆版本。多重索引已启用

错误:

E/AndroidRuntime: FATAL EXCEPTION: RxCachedThreadScheduler-2
Process: {PROJECT PACKAGE}, PID: 9872
io.reactivex.exceptions.UndeliverableException: The exception could not be delivered to the consumer because it has already canceled/disposed the flow or the exception has nowhere to go to begin with. Further reading: https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0#error-handling | java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/firebase/perf/network/FirebasePerfUrlConnection;
    at io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:367)
    at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:69)
    at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:919)
 Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/firebase/perf/network/FirebasePerfUrlConnection;
    at com.github.pwittchen.reactivenetwork.library.rx2.internet.observing.strategy.WalledGardenInternetObservingStrategy.createHttpUrlConnection(WalledGardenInternetObservingStrategy.java:124)
    at com.github.pwittchen.reactivenetwork.library.rx2.internet.observing.strategy.WalledGardenInternetObservingStrategy.isConnected(WalledGardenInternetObservingStrategy.java:107)
    at com.github.pwittchen.reactivenetwork.library.rx2.internet.observing.strategy.WalledGardenInternetObservingStrategy$1.apply(WalledGardenInternetObservingStrategy.java:66)
    at com.github.pwittchen.reactivenetwork.library.rx2.internet.observing.strategy.WalledGardenInternetObservingStrategy$1.apply(WalledGardenInternetObservingStrategy.java:64)
    at io.reactivex.internal.operators.observable.ObservableMap$MapObserver.onNext(ObservableMap.java:57)
    at io.reactivex.internal.operators.observable.ObservableInterval$IntervalObserver.run(ObservableInterval.java:82)
    at io.reactivex.Scheduler$PeriodicDirectTask.run(Scheduler.java:532)
    at io.reactivex.Scheduler$Worker$PeriodicTask.run(Scheduler.java:479)
    at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
    at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
    at java.lang.Thread.run(Thread.java:919) 
 Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.firebase.perf.network.FirebasePerfUrlConnection" on path: DexPathList[[zip file "/data/app/{PROJECT PACKAGE}--VDzbFrnWyQza3gXDNMSSA==/base.apk"],nativeLibraryDirectories=[/data/app/{PROJECT PACKAGE}--VDzbFrnWyQza3gXDNMSSA==/lib/x86_64, /data/app/{PROJECT PACKAGE}--VDzbFrnWyQza3gXDNMSSA==/base.apk!/lib/x86_64, /system/lib64, /system/product/lib64]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:196)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
    at com.github.pwittchen.reactivenetwork.library.rx2.internet.observing.strategy.WalledGardenInternetObservingStrategy.createHttpUrlConnection(WalledGardenInternetObservingStrategy.java:124) 
    at com.github.pwittchen.reactivenetwork.library.rx2.internet.observing.strategy.WalledGardenInternetObservingStrategy.isConnected(WalledGardenInternetObservingStrategy.java:107) 
    at com.github.pwittchen.reactivenetwork.library.rx2.internet.observing.strategy.WalledGardenInternetObservingStrategy$1.apply(WalledGardenInternetObservingStrategy.java:66) 
    at com.github.pwittchen.reactivenetwork.library.rx2.internet.observing.strategy.WalledGardenInternetObservingStrategy$1.apply(WalledGardenInternetObservingStrategy.java:64) 
    at io.reactivex.internal.operators.observable.ObservableMap$MapObserver.onNext(ObservableMap.java:57) 
    at io.reactivex.internal.operators.observable.ObservableInterval$IntervalObserver.run(ObservableInterval.java:82) 
    at io.reactivex.Scheduler$PeriodicDirectTask.run(Scheduler.java:532) 
    at io.reactivex.Scheduler$Worker$PeriodicTask.run(Scheduler.java:479) 
    at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66) 
    at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
    at java.lang.Thread.run(Thread.java:919) 
构建脚本:

buildscript {
    ext {
        commonVariables = [
                applicationVersionName: "{APP VERSION}",
                applicationVersionCode: {APP VERSION CODE},
                compileSdkVersion     : 29,
                minSdkVersion         : 21,
                targetSdkVersion      : 29,
                buildToolsVersion     : "29.0.2"
        ]

        kotlin_version = "1.3.72"
        rx_binding_version = "3.1.0"
        koin_version = "2.1.5"
        moshi_version = "1.9.2"
        lifecycle_version = "2.2.0"
        paging_version = "2.1.2"
        flipper_version = "0.44.0"
        nav_version = "2.2.2"
        room_version = "2.2.5"
        realm_version = "6.1.0"

        commonDependencies = [
            kotlinLib               : "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version",
            appCompat               : "androidx.appcompat:appcompat:1.1.0",
            rxJava                  : "io.reactivex.rxjava2:rxjava:2.2.19",
            rxAndroid               : "io.reactivex.rxjava2:rxandroid:2.1.1",
            rxKotlin                : "io.reactivex.rxjava2:rxkotlin:2.4.0",
            coreKtx                 : "androidx.core:core-ktx:1.2.0",
            activity                : "androidx.activity:activity-ktx:1.1.0",
            fragment                : "androidx.fragment:fragment-ktx:1.2.4",
            recyclerView            : "androidx.recyclerview:recyclerview:1.1.0",
            swipeRefreshLayout      : "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0",
            materialComponents      : "com.google.android.material:material:1.2.0-alpha06",
            constraintLayout        : "androidx.constraintlayout:constraintlayout:1.1.3",
            jodaTime                : 'joda-time:joda-time:2.10.6',
            rxPermissions           : "com.github.tbruyelle:rxpermissions:0.10.2",
            rxBindingsCore          : "com.jakewharton.rxbinding3:rxbinding-core:$rx_binding_version",
            rxBindingsAppCompat     : "com.jakewharton.rxbinding3:rxbinding-appcompat:$rx_binding_version",
            rxBindingsMaterial      : "com.jakewharton.rxbinding3:rxbinding-material:$rx_binding_version",
            rxBindingsRecyclerView  : "com.jakewharton.rxbinding3:rxbinding-recyclerview:$rx_binding_version",
            koin                    : "org.koin:koin-core:$koin_version",
            koinExperimental        : "org.koin:koin-core-ext:$koin_version",
            koinAndroidX            : "org.koin:koin-android:$koin_version",
            koinAndroidXScope       : "org.koin:koin-androidx-scope:$koin_version",
            koinAndroidXViewModel   : "org.koin:koin-androidx-viewmodel:$koin_version",
            koinAndroidXFragment    : "org.koin:koin-androidx-fragment:$koin_version",
            koinAndroidXExperimental: "org.koin:koin-androidx-ext:$koin_version",
            moshi                   : "com.squareup.moshi:moshi-kotlin:$moshi_version",
            moshiKapt               : "com.squareup.moshi:moshi-kotlin-codegen:$moshi_version",
            moshiAdapters           : "com.squareup.moshi:moshi-adapters:$moshi_version",
            lifecycleRuntime        : "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version",
            lifecycleExtensions     : "androidx.lifecycle:lifecycle-extensions:$lifecycle_version",
            pagingCommon            : "androidx.paging:paging-common-ktx:$paging_version",
            pagingRuntime           : "androidx.paging:paging-runtime-ktx:$paging_version",
            pagingRxJava            : "androidx.paging:paging-rxjava2-ktx:$paging_version",
            flipper                 : "com.facebook.flipper:flipper:$flipper_version",
            flipperNetworkPlugin    : "com.facebook.flipper:flipper-network-plugin:$flipper_version",
            soloader                : "com.facebook.soloader:soloader:0.5.1",
            navigationRuntime       : "androidx.navigation:navigation-runtime-ktx:$nav_version",
            navigationUI            : "androidx.navigation:navigation-fragment-ktx:$nav_version",
            navigationFragment      : "androidx.navigation:navigation-ui-ktx:$nav_version",
            room                    : "androidx.room:room-runtime:$room_version",
            roomKtx                 : "androidx.room:room-ktx:$room_version",
            rxRoom                  : "androidx.room:room-rxjava2:$room_version",
            roomAnnotation          : "androidx.room:room-compiler:$room_version"
        ]
    }

    repositories {
        google()
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:4.0.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "com.google.gms:google-services:4.3.3"
        classpath "com.google.firebase:firebase-crashlytics-gradle:2.1.1"
        classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version"
        classpath "io.realm:realm-gradle-plugin:$realm_version"
        classpath 'com.google.firebase:perf-plugin:1.3.1'
    }
}

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

task clean(type: Delete) {
    delete rootProject.buildDir
}
应用程序梯度:

apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
apply plugin: 'com.google.firebase.crashlytics'
apply plugin: "androidx.navigation.safeargs.kotlin"
apply plugin: 'realm-android'
apply plugin: 'com.google.firebase.firebase-perf'

android {
    ...

    defaultConfig {
        ...
        multiDexEnabled true
        ...
    }
}

dependencies {
    ...
    implementation 'com.android.support:multidex:1.0.3'

    releaseImplementation 'com.google.firebase:firebase-analytics:17.4.2'
    releaseImplementation 'com.google.firebase:firebase-crashlytics:17.0.0'
    releaseImplementation 'com.google.firebase:firebase-perf:19.0.7'

    implementation 'com.google.firebase:firebase-messaging:20.2.0'
    implementation 'com.google.firebase:firebase-ml-vision:24.0.3'
    implementation 'com.google.firebase:firebase-ml-vision-barcode-model:16.1.1'
    ...
}
改变

releaseImplementation 'com.google.firebase:firebase-analytics:17.4.2'
releaseImplementation 'com.google.firebase:firebase-crashlytics:17.0.0'
releaseImplementation 'com.google.firebase:firebase-perf:19.0.7'

应解决此问题,因为这些依赖项当前仅定义为
发布版
构建类型

行:

应用插件:“com.google.firebase.firebase perf”


正在添加导致应用程序在调试模式下崩溃的依赖项。您需要找到一种方法,仅对发布版本执行此操作(有一些解决方法可用),或者只将Firebase性能作为调试版本的一部分。

包括或删除所有这些

构建梯度(AppName)

构建渐变(:app)

在页面顶部

apply plugin: 'com.google.firebase.firebase-perf'
然后


这是有意的,因为调试时不需要这些工具。。。但这将导致
ClassNotFoundException
作为所述依赖项中的
firebaseproverconnection
。在使用
releaseemplementation
时克服此问题的一种方法是:确保与这些依赖项相关的所有类仅在
release
源集中使用,并且在
main
中不存在,因为它们不会在调试apk中提供
dependencies {
    classpath 'com.google.firebase:perf-plugin:1.3.4'
}
apply plugin: 'com.google.firebase.firebase-perf'
dependencies {
    implementation 'com.google.firebase:firebase-perf:19.1.0'
}