Nik*_*ron 6 android noclassdeffounderror firebase firebase-performance
有人面临同样的问题吗?将 firebase 性能添加到项目后,启动应用程序后立即发生错误。它仅在调试版本中崩溃,在发布版本中一切都按预期工作。也许有人有真正的答案,因为我在类似问题中发现的所有内容都是通过试错方法来处理库版本。Multidex 已打开。
\n\n错误:
\n\nE/AndroidRuntime: FATAL EXCEPTION: RxCachedThreadScheduler-2\nProcess: {PROJECT PACKAGE}, PID: 9872\nio.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;\n at io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:367)\n at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:69)\n at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)\n at java.util.concurrent.FutureTask.run(FutureTask.java:266)\n at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)\n at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)\n at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)\n at java.lang.Thread.run(Thread.java:919)\n Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/firebase/perf/network/FirebasePerfUrlConnection;\n at com.github.pwittchen.reactivenetwork.library.rx2.internet.observing.strategy.WalledGardenInternetObservingStrategy.createHttpUrlConnection(WalledGardenInternetObservingStrategy.java:124)\n at com.github.pwittchen.reactivenetwork.library.rx2.internet.observing.strategy.WalledGardenInternetObservingStrategy.isConnected(WalledGardenInternetObservingStrategy.java:107)\n at com.github.pwittchen.reactivenetwork.library.rx2.internet.observing.strategy.WalledGardenInternetObservingStrategy$1.apply(WalledGardenInternetObservingStrategy.java:66)\n at com.github.pwittchen.reactivenetwork.library.rx2.internet.observing.strategy.WalledGardenInternetObservingStrategy$1.apply(WalledGardenInternetObservingStrategy.java:64)\n at io.reactivex.internal.operators.observable.ObservableMap$MapObserver.onNext(ObservableMap.java:57)\n at io.reactivex.internal.operators.observable.ObservableInterval$IntervalObserver.run(ObservableInterval.java:82)\n at io.reactivex.Scheduler$PeriodicDirectTask.run(Scheduler.java:532)\n at io.reactivex.Scheduler$Worker$PeriodicTask.run(Scheduler.java:479)\n at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)\n at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)\xc2\xa0\n at java.util.concurrent.FutureTask.run(FutureTask.java:266)\xc2\xa0\n at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)\xc2\xa0\n at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)\xc2\xa0\n at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)\xc2\xa0\n at java.lang.Thread.run(Thread.java:919)\xc2\xa0\n 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]]\n at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:196)\n at java.lang.ClassLoader.loadClass(ClassLoader.java:379)\n at java.lang.ClassLoader.loadClass(ClassLoader.java:312)\n at com.github.pwittchen.reactivenetwork.library.rx2.internet.observing.strategy.WalledGardenInternetObservingStrategy.createHttpUrlConnection(WalledGardenInternetObservingStrategy.java:124)\xc2\xa0\n at com.github.pwittchen.reactivenetwork.library.rx2.internet.observing.strategy.WalledGardenInternetObservingStrategy.isConnected(WalledGardenInternetObservingStrategy.java:107)\xc2\xa0\n at com.github.pwittchen.reactivenetwork.library.rx2.internet.observing.strategy.WalledGardenInternetObservingStrategy$1.apply(WalledGardenInternetObservingStrategy.java:66)\xc2\xa0\n at com.github.pwittchen.reactivenetwork.library.rx2.internet.observing.strategy.WalledGardenInternetObservingStrategy$1.apply(WalledGardenInternetObservingStrategy.java:64)\xc2\xa0\n at io.reactivex.internal.operators.observable.ObservableMap$MapObserver.onNext(ObservableMap.java:57)\xc2\xa0\n at io.reactivex.internal.operators.observable.ObservableInterval$IntervalObserver.run(ObservableInterval.java:82)\xc2\xa0\n at io.reactivex.Scheduler$PeriodicDirectTask.run(Scheduler.java:532)\xc2\xa0\n at io.reactivex.Scheduler$Worker$PeriodicTask.run(Scheduler.java:479)\xc2\xa0\n at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)\xc2\xa0\n at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)\xc2\xa0\n at java.util.concurrent.FutureTask.run(FutureTask.java:266)\xc2\xa0\n at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)\xc2\xa0\n at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)\xc2\xa0\n at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)\xc2\xa0\n at java.lang.Thread.run(Thread.java:919)\xc2\xa0\nRun Code Online (Sandbox Code Playgroud)\n\n构建脚本:
\n\nbuildscript {\n ext {\n commonVariables = [\n applicationVersionName: "{APP VERSION}",\n applicationVersionCode: {APP VERSION CODE},\n compileSdkVersion : 29,\n minSdkVersion : 21,\n targetSdkVersion : 29,\n buildToolsVersion : "29.0.2"\n ]\n\n kotlin_version = "1.3.72"\n rx_binding_version = "3.1.0"\n koin_version = "2.1.5"\n moshi_version = "1.9.2"\n lifecycle_version = "2.2.0"\n paging_version = "2.1.2"\n flipper_version = "0.44.0"\n nav_version = "2.2.2"\n room_version = "2.2.5"\n realm_version = "6.1.0"\n\n commonDependencies = [\n kotlinLib : "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version",\n appCompat : "androidx.appcompat:appcompat:1.1.0",\n rxJava : "io.reactivex.rxjava2:rxjava:2.2.19",\n rxAndroid : "io.reactivex.rxjava2:rxandroid:2.1.1",\n rxKotlin : "io.reactivex.rxjava2:rxkotlin:2.4.0",\n coreKtx : "androidx.core:core-ktx:1.2.0",\n activity : "androidx.activity:activity-ktx:1.1.0",\n fragment : "androidx.fragment:fragment-ktx:1.2.4",\n recyclerView : "androidx.recyclerview:recyclerview:1.1.0",\n swipeRefreshLayout : "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0",\n materialComponents : "com.google.android.material:material:1.2.0-alpha06",\n constraintLayout : "androidx.constraintlayout:constraintlayout:1.1.3",\n jodaTime : \'joda-time:joda-time:2.10.6\',\n rxPermissions : "com.github.tbruyelle:rxpermissions:0.10.2",\n rxBindingsCore : "com.jakewharton.rxbinding3:rxbinding-core:$rx_binding_version",\n rxBindingsAppCompat : "com.jakewharton.rxbinding3:rxbinding-appcompat:$rx_binding_version",\n rxBindingsMaterial : "com.jakewharton.rxbinding3:rxbinding-material:$rx_binding_version",\n rxBindingsRecyclerView : "com.jakewharton.rxbinding3:rxbinding-recyclerview:$rx_binding_version",\n koin : "org.koin:koin-core:$koin_version",\n koinExperimental : "org.koin:koin-core-ext:$koin_version",\n koinAndroidX : "org.koin:koin-android:$koin_version",\n koinAndroidXScope : "org.koin:koin-androidx-scope:$koin_version",\n koinAndroidXViewModel : "org.koin:koin-androidx-viewmodel:$koin_version",\n koinAndroidXFragment : "org.koin:koin-androidx-fragment:$koin_version",\n koinAndroidXExperimental: "org.koin:koin-androidx-ext:$koin_version",\n moshi : "com.squareup.moshi:moshi-kotlin:$moshi_version",\n moshiKapt : "com.squareup.moshi:moshi-kotlin-codegen:$moshi_version",\n moshiAdapters : "com.squareup.moshi:moshi-adapters:$moshi_version",\n lifecycleRuntime : "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version",\n lifecycleExtensions : "androidx.lifecycle:lifecycle-extensions:$lifecycle_version",\n pagingCommon : "androidx.paging:paging-common-ktx:$paging_version",\n pagingRuntime : "androidx.paging:paging-runtime-ktx:$paging_version",\n pagingRxJava : "androidx.paging:paging-rxjava2-ktx:$paging_version",\n flipper : "com.facebook.flipper:flipper:$flipper_version",\n flipperNetworkPlugin : "com.facebook.flipper:flipper-network-plugin:$flipper_version",\n soloader : "com.facebook.soloader:soloader:0.5.1",\n navigationRuntime : "androidx.navigation:navigation-runtime-ktx:$nav_version",\n navigationUI : "androidx.navigation:navigation-fragment-ktx:$nav_version",\n navigationFragment : "androidx.navigation:navigation-ui-ktx:$nav_version",\n room : "androidx.room:room-runtime:$room_version",\n roomKtx : "androidx.room:room-ktx:$room_version",\n rxRoom : "androidx.room:room-rxjava2:$room_version",\n roomAnnotation : "androidx.room:room-compiler:$room_version"\n ]\n }\n\n repositories {\n google()\n jcenter()\n }\n\n dependencies {\n classpath \'com.android.tools.build:gradle:4.0.0\'\n classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"\n classpath "com.google.gms:google-services:4.3.3"\n classpath "com.google.firebase:firebase-crashlytics-gradle:2.1.1"\n classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version"\n classpath "io.realm:realm-gradle-plugin:$realm_version"\n classpath \'com.google.firebase:perf-plugin:1.3.1\'\n }\n}\n\nallprojects {\n repositories {\n google()\n jcenter()\n mavenCentral()\n maven { url \'https://jitpack.io\' }\n }\n}\n\ntask clean(type: Delete) {\n delete rootProject.buildDir\n}\nRun Code Online (Sandbox Code Playgroud)\n\n应用程序等级:
\n\napply plugin: \'com.android.application\'\napply plugin: \'com.google.gms.google-services\'\napply plugin: \'kotlin-android\'\napply plugin: \'kotlin-android-extensions\'\napply plugin: \'kotlin-kapt\'\napply plugin: \'com.google.firebase.crashlytics\'\napply plugin: "androidx.navigation.safeargs.kotlin"\napply plugin: \'realm-android\'\napply plugin: \'com.google.firebase.firebase-perf\'\n\nandroid {\n ...\n\n defaultConfig {\n ...\n multiDexEnabled true\n ...\n }\n}\n\ndependencies {\n ...\n implementation \'com.android.support:multidex:1.0.3\'\n\n releaseImplementation \'com.google.firebase:firebase-analytics:17.4.2\'\n releaseImplementation \'com.google.firebase:firebase-crashlytics:17.0.0\'\n releaseImplementation \'com.google.firebase:firebase-perf:19.0.7\'\n\n implementation \'com.google.firebase:firebase-messaging:20.2.0\'\n implementation \'com.google.firebase:firebase-ml-vision:24.0.3\'\n implementation \'com.google.firebase:firebase-ml-vision-barcode-model:16.1.1\'\n ...\n}\nRun Code Online (Sandbox Code Playgroud)\n
包含所有或删除所有这些
构建 Gradle(应用程序名称)
dependencies {
classpath 'com.google.firebase:perf-plugin:1.3.4'
}
Run Code Online (Sandbox Code Playgroud)
构建 Gradle(:应用程序)
在页面顶部
apply plugin: 'com.google.firebase.firebase-perf'
Run Code Online (Sandbox Code Playgroud)
然后
dependencies {
implementation 'com.google.firebase:firebase-perf:19.1.0'
}
Run Code Online (Sandbox Code Playgroud)
最新版本的 firebase 工作完美。这是示例:
依赖项:
implementation platform('com.google.firebase:firebase-bom:28.2.1')
releaseImplementation 'com.google.firebase:firebase-analytics-ktx'
releaseImplementation 'com.google.firebase:firebase-crashlytics-ktx'
releaseImplementation 'com.google.firebase:firebase-perf-ktx'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5981 次 |
| 最近记录: |