Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.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
Android NoClassDefFoundError:rx.subscriptions.CompositeSubscription_Android_Rx Java_Rx Android - Fatal编程技术网

Android NoClassDefFoundError:rx.subscriptions.CompositeSubscription

Android NoClassDefFoundError:rx.subscriptions.CompositeSubscription,android,rx-java,rx-android,Android,Rx Java,Rx Android,我有一个Android项目,我使用了rxjava和rxAndroid。我突然开始崩溃“NoClassDefFoundError:rx.subscriptions.CompositeSubscription” 我试图在网上查找,但找不到解决方案 java.lang.ExceptionInInitializerError at rx.plugins.RxJavaSchedulersHook.createIoScheduler(RxJavaSchedulersHook.java:84) at rx.p

我有一个Android项目,我使用了
rxjava
rxAndroid
。我突然开始崩溃
“NoClassDefFoundError:rx.subscriptions.CompositeSubscription”

我试图在网上查找,但找不到解决方案

java.lang.ExceptionInInitializerError
at rx.plugins.RxJavaSchedulersHook.createIoScheduler(RxJavaSchedulersHook.java:84)
at rx.plugins.RxJavaSchedulersHook.createIoScheduler(RxJavaSchedulersHook.java:72)
at rx.schedulers.Schedulers.<init>(Schedulers.java:70)
at rx.schedulers.Schedulers.getInstance(Schedulers.java:47)
at rx.schedulers.Schedulers.newThread(Schedulers.java:108)
at com.myPackage.controllers.modelsControllers.CountriesController.loadCountries(CountriesController.java:121)
at com.myPackage.views.fragments.ChatFragment.onCreateView(ChatFragment.java:57)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:829)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1035)
at android.app.BackStackRecord.run(BackStackRecord.java:635)
at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1397)
at android.app.Activity.performStart(Activity.java:5017)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2032)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
at android.app.ActivityThread.access$600(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NoClassDefFoundError: rx.subscriptions.CompositeSubscription
at rx.internal.schedulers.CachedThreadScheduler$CachedWorkerPool.<init>(CachedThreadScheduler.java:48)
at rx.internal.schedulers.CachedThreadScheduler.<clinit>(CachedThreadScheduler.java:139)
at rx.plugins.RxJavaSchedulersHook.createIoScheduler(RxJavaSchedulersHook.java:84) 
at rx.plugins.RxJavaSchedulersHook.createIoScheduler(RxJavaSchedulersHook.java:72) 
at rx.schedulers.Schedulers.<init>(Schedulers.java:70) 
at rx.schedulers.Schedulers.getInstance(Schedulers.java:47) 
at rx.schedulers.Schedulers.newThread(Schedulers.java:108) 
at com.myPackage.controllers.modelsControllers.CountriesController.loadCountries(CountriesController.java:121) 
at com.myPackage.views.fragments.ChatFragment.onCreateView(ChatFragment.java:57) 
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:829) 
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1035) 
at android.app.BackStackRecord.run(BackStackRecord.java:635) 
at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1397) 
at android.app.Activity.performStart(Activity.java:5017) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2032) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084) 
at android.app.ActivityThread.access$600(ActivityThread.java:130) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:137) 
at android.app.ActivityThread.main(ActivityThread.java:4745) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:511) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
at dalvik.system.NativeStart.main(Native Method) 
我需要任何建议,如果你有任何问题,请告诉我

如果可能的话,有人能解释一下那次崩溃到底意味着什么吗? 谢谢

编辑 我的身材,格雷德尔,你有吗

    compile 'io.reactivex:rxandroid:1.2.1'
// Because RxAndroid releases are few and far between, it is recommended you also
// explicitly depend on RxJava's latest version for bug fixes and new features.
    compile 'io.reactivex:rxjava:1.1.6'
    compile 'com.jakewharton.rxbinding:rxbinding-support-v4:0.4.0'
    compile 'com.trello:rxlifecycle:0.6.1'
// If you want pre-written Activities and Fragments you can subclass as providers
    compile 'com.trello:rxlifecycle-components:0.6.1'

    compile 'com.mlsdev.rximagepicker:library:1.1.9'
    compile 'com.github.zellius:rxlocationmanager:0.1.1'
    compile 'com.sdoward:rxgooglemaps:1.0@aar'

NoClassDefFoundError
通常发生在生成工具和/或热插拔在更改依赖项后无法更新时


尝试一个
Build>Clean项目
,然后再次运行。

好的,我可以解释我是如何尝试修复的,希望它能帮助别人。 我尝试过清理>重建几次,我删除了安装在c:users\userName.gradle\caches\modules\files-2.1中的库,然后尝试检查依赖项以查看是否存在重复项(某些库可以在内部包含彼此),我总是清理和重建。 最后我重新下载了整个Android环境


然而,出于某种原因,我记得我没有应用多重索引,我这样做了,它起了作用,这对我起了作用。我仍然不明白为什么,因为它在没有multidex的不同pc上工作

如果您使用的是
multidex
,那么这个问题也可能发生。但在较低版本的手机中

您只需按照此处给出的程序进行操作:


我已经删除了compile'io.reactivex:rxandroid:1.2.1',并清理、重建、关闭android studio,再次启动它,并尝试删除.gradle\caches\modules\files-2.1文件夹下的所有文件夹,我仍然会遇到相同的崩溃。如果我尝试使用新的CompositeSubscription,它也会崩溃。但是我可以打开那个类,看看它是什么……试着更新到最新的rx java
1.1.8
好的,我在不同的pc上尝试了相同的代码,它正在工作,所以我假设我在本地遇到了问题。是的,通常一个干净的构建会对它进行排序,否则会关闭即时运行(或卸载应用程序)可以提供帮助。请尝试运行
/gradlew depen
,查看在解析所有依赖项后实际使用的RxJava版本。您是否使用了Proguard?我检查了,但我发现minify false,因此我相信这是一个noI,我目前正在使用multidex。它会影响rx库吗??因为对我来说这很奇怪。它不会在每台设备上重复错误。从我所拥有的设备来看,这是松下P55 Novo。在Mototrola Nexus 6、Mi4I、Mi5、Redmi、Mi Max、HTC One M9+等任何其他产品中都没有发现问题。。。没有使用对multidex的支持。你的关键词多重索引帮了我的忙。谢谢:)添加多索引支持也解决了我的问题。。。谢谢
    compile 'io.reactivex:rxandroid:1.2.1'
// Because RxAndroid releases are few and far between, it is recommended you also
// explicitly depend on RxJava's latest version for bug fixes and new features.
    compile 'io.reactivex:rxjava:1.1.6'
    compile 'com.jakewharton.rxbinding:rxbinding-support-v4:0.4.0'
    compile 'com.trello:rxlifecycle:0.6.1'
// If you want pre-written Activities and Fragments you can subclass as providers
    compile 'com.trello:rxlifecycle-components:0.6.1'

    compile 'com.mlsdev.rximagepicker:library:1.1.9'
    compile 'com.github.zellius:rxlocationmanager:0.1.1'
    compile 'com.sdoward:rxgooglemaps:1.0@aar'