Closed zhuruyi2013 closed 6 years ago
-----------code---------------
Observable.just(1).subscribe(new Consumer<Integer>() {
@Override
public void accept(Integer integer) throws Exception {
Log.d(TAG, "i=" + integer);
}
});
----------error------------------
Exception in thread "main" java.lang.NoClassDefFoundError: io/reactivex/functions/Consumer
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
at java.lang.Class.getMethod0(Class.java:3018)
at java.lang.Class.getMethod(Class.java:1784)
at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
Caused by: java.lang.ClassNotFoundException: io.reactivex.functions.Consumer
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 7 more
i think the detail error does't mean the real error, maybe gradle3.0 can't support rxjava2.0. i create a java module under a androidproject,the build.gradle content as below:
apply plugin: 'java'
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.tools.lint:lint-api:24.5.0'
implementation 'com.android.tools.lint:lint-checks:24.5.0'
implementation 'io.reactivex.rxjava2:rxjava:2.1.0'
implementation 'org.reactivestreams:reactive-streams:1.0.2'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
// implementation 'org.reactivestreams:reactive-streams-tck:1.0.2'
// implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
}
jar {
manifest {
attributes("Lint-Registry": "com.dt.lint.MTIssueRegistry")
}
}
This is not an issue with RxJava but with the IDE/project setup you have. You may have to do a clean install of Android Studio and make sure you are using the latest Gradle the IDE supports. Also check the project settings to see if the imported libraries are properly marked as compile-time dependency by the IDE as sometimes they appear as runtime or test dependencies which then fail to run properly.
2.x
) that would be great.io.reactivex.rxjava2:rxjava:2.1.0
AndroidStudio3.0.1 gradle 3.0.1 ----------code-------
-------------error----------------