RX java io.reactivex.rxjava3.android.schedulers.AndroidSchedulers 无法执行
RX java io.reactivex.rxjava3.android.schedulers.AndroidSchedulers unable to execute
实施'io.reactivex.rxjava3:rxandroid:3.0.0'
实施 'io.reactivex.rxjava3:rxjava:3.0.0'
val TAG:String = RXKotlinDemoClass::class.java.simpleName
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
var observable = Observable.just("Goat","Dog","Cow")
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()).subscribe({
value -> println(TAG+"$value")
},{
error -> println(TAG+"$error")
},{
println(TAG+"onComplete")
}
)
}
异常:
java.lang.NoSuchMethodError: 没有静态方法 metafactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;) Ljava/lang/invoke/CallSite;在 class Ljava/lang/invoke/LambdaMetafactory 中;或其超 classes('java.lang.invoke.LambdaMetafactory' 的声明出现在 /apex/com.android.runtime/javalib/core-oj.jar 中)
在 io.reactivex.rxjava3.android.schedulers.AndroidSchedulers.(AndroidSchedulers.java:33)
在 io.reactivex.rxjava3.android.schedulers.AndroidSchedulers.mainThread(AndroidSchedulers.java:44)
在 com.android.myfirstapp.RXKotlinDemoClass.onCreate(RXKotlinDemoClass.kt:19)
在 android.app.Activity.performCreate(Activity.java:7802)
在 android.app.Activity.performCreate(Activity.java:7791)
在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1299)
在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245)
在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)
在 android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
在 android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
在 android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
在 android.os.Handler.dispatchMessage(Handler.java:107)
在 android.os.Looper.loop(Looper.java:214)
在 android.app.ActivityThread.main(ActivityThread.java:7356)
在 java.lang.reflect.Method.invoke(本机方法)
在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
我已经降级 build.gradle
来自
implementation 'io.reactivex.rxjava3:rxandroid:3.0.0'
implementation 'io.reactivex.rxjava3:rxjava:3.0.0'
至
implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
implementation 'io.reactivex.rxjava2:rxjava:2.2.10'
一切正常。
运行 使用 Rx 3.0 解决同样的问题。我需要将这些语句添加到应用程序 build.gradle
文件的 android
部分:
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = "1.8"
}
实施'io.reactivex.rxjava3:rxandroid:3.0.0' 实施 'io.reactivex.rxjava3:rxjava:3.0.0'
val TAG:String = RXKotlinDemoClass::class.java.simpleName
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
var observable = Observable.just("Goat","Dog","Cow")
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()).subscribe({
value -> println(TAG+"$value")
},{
error -> println(TAG+"$error")
},{
println(TAG+"onComplete")
}
)
}
异常: java.lang.NoSuchMethodError: 没有静态方法 metafactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;) Ljava/lang/invoke/CallSite;在 class Ljava/lang/invoke/LambdaMetafactory 中;或其超 classes('java.lang.invoke.LambdaMetafactory' 的声明出现在 /apex/com.android.runtime/javalib/core-oj.jar 中) 在 io.reactivex.rxjava3.android.schedulers.AndroidSchedulers.(AndroidSchedulers.java:33) 在 io.reactivex.rxjava3.android.schedulers.AndroidSchedulers.mainThread(AndroidSchedulers.java:44) 在 com.android.myfirstapp.RXKotlinDemoClass.onCreate(RXKotlinDemoClass.kt:19) 在 android.app.Activity.performCreate(Activity.java:7802) 在 android.app.Activity.performCreate(Activity.java:7791) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1299) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409) 在 android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) 在 android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 在 android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016) 在 android.os.Handler.dispatchMessage(Handler.java:107) 在 android.os.Looper.loop(Looper.java:214) 在 android.app.ActivityThread.main(ActivityThread.java:7356) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
我已经降级 build.gradle
来自
implementation 'io.reactivex.rxjava3:rxandroid:3.0.0'
implementation 'io.reactivex.rxjava3:rxjava:3.0.0'
至
implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
implementation 'io.reactivex.rxjava2:rxjava:2.2.10'
一切正常。
运行 使用 Rx 3.0 解决同样的问题。我需要将这些语句添加到应用程序 build.gradle
文件的 android
部分:
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = "1.8"
}