проблема при использовании AndroidSchedulers.mainThread () - PullRequest
0 голосов
/ 21 марта 2019

После некоторых обновлений Android начал сообщать мне об ошибках, связанных с номером версии, поэтому в процессе их исправления я столкнулся с проблемами, связанными с RXJava, в моем проекте используется модернизация.

Я получаю ошибку:

observeOn(io.reactivex.Schedulers) in Observable cannot be applied to (rx.Scheduler)

код ManEmpAct.java

    import android.content.DialogInterface;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;

import com.dopay.onboarding.Constants;
import com.dopay.onboarding.DoPayApplication;
import com.dopay.onboarding.R;
import com.dopay.onboarding.data.AppPreferences;
import com.dopay.onboarding.enums.StartStopAppMonitor;
import com.dopay.onboarding.fragment.CreateEmployeeDetailsFragment;
import com.dopay.onboarding.fragment.EmployeeEditFragment;
import com.dopay.onboarding.modules.UserAccountManagementView;
import com.dopay.onboarding.refactor_fragments.CountryByPhoneNumberFragment;
import com.dopay.onboarding.refactor_fragments.TakePhotoFragment;
import com.dopay.onboarding.refactor_fragments.TakePhotoFragmentCamera2;
import com.dopay.onboarding.refactor_fragments.ViewImageFragment;
import com.dopay.onboarding.util.DialogUtil;
import com.dopay.onboarding.util.EventsTracker;
import com.dopay.onboarding.util.UIUtil;

//import rx.android.schedulers.AndroidSchedulers;

import io.reactivex.android.schedulers.AndroidSchedulers;
compositeSubscription.add(publishRelay.asObservable().observeOn(AndroidSchedulers.mainThread()).subscribe(iView -> {

}

полный список зависимостей, используемых в приложении, на всякий случайЯ не подбираю правильный build.gradle

    compileSdkVersion 28
     minSdkVersion 21
     targetSdkVersion 26

    dependencies {

    //DEPENDENCIES RELATED TO RETROFIT, RXJAVA, RXANDROID
    implementation 'com.jenzz.appstate:adapter-rxjava2:3.0.1'
    implementation 'com.jakewharton.rxbinding2:rxbinding-recyclerview-v7:2.0.0'
    implementation 'com.laimiux.rxnetwork:rxnetwork:0.0.4'
    //Retrofit, RxJava and OkHttp,Gson,Dagger,ButterKnife.
    implementation 'com.squareup.retrofit2:retrofit:2.1.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.1.0'
    implementation 'com.squareup.retrofit2:adapter-rxjava2:2.5.0'
    implementation group: 'com.squareup.retrofit2', name: 'adapter-rxjava2', version: '2.2.0'
    implementation 'com.jakewharton.rxrelay2:rxrelay:2.0.0'
    implementation 'com.jakewharton.rxrelay:rxrelay:1.1.0'
    implementation group: 'io.reactivex.rxjava2', name: 'rxandroid', version: '2.0.1'
    implementation 'com.jakewharton.rxbinding2:rxbinding-appcompat-v7:2.0.0'
    implementation 'com.tbruyelle.rxpermissions2:rxpermissions:0.9.4@aar'
    implementation 'com.squareup.retrofit2:retrofit-mock:2.1.0'
    testImplementation 'com.squareup.retrofit2:retrofit:2.1.0'
    testImplementation 'com.squareup.retrofit2:converter-gson:2.1.0'

    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation fileTree(dir: "$buildDir/native-libs", include: 'native-libs.jar')

    implementation 'com.android.support:multidex:1.0.2'
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support:support-v13:28.0.0'
    implementation 'com.jenzz.appstate:appstate:3.0.1'

    implementation 'com.android.support:design:28.0.0'
    implementation 'com.android.support:cardview-v7:28.0.0'
    implementation 'com.android.support:recyclerview-v7:28.0.0'
    implementation group: 'joda-time', name: 'joda-time', version: '2.3'
    implementation 'com.mikhaellopez:circularprogressbar:1.1.1'
    implementation 'io.realm:android-adapters:2.0.0'    
    implementation 'com.github.arimorty:floatingsearchview:2.1.1'
    implementation 'uk.co.chrisjenx:calligraphy:2.3.0'    
    implementation 'com.google.firebase:firebase-messaging:15.0.0'
    debugImplementation 'com.21buttons:fragment-test-rule:1.0.0'    
    implementation 'frankiesardo:icepick:3.1.0'
    annotationProcessor 'frankiesardo:icepick-processor:3.1.0'
    implementation 'io.michaelrocks:libphonenumber-android:8.9.0'
    implementation ('com.google.dagger:dagger:2.0.2'){
        exclude group: 'com.google.guava'
    }
    annotationProcessor ('com.google.dagger:dagger-compiler:2.0.2'){
        exclude group: 'com.google.guava'
    }
    implementation 'com.jakewharton:butterknife:8.8.1'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
    compileOnly 'javax.annotation:jsr250-api:1.0'
    implementation 'com.android.support:support-annotations:24.2.0'    
    implementation 'com.futuremind.recyclerfastscroll:fastscroll:0.2.5'    
    implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.0'
    implementation 'com.jakewharton.timber:timber:4.5.1'
    implementation 'com.google.code.gson:gson:2.5'    
    implementation 'com.github.bumptech.glide:glide:3.7.0'
    implementation 'com.github.fafaldo:fab-toolbar:1.2.0'
    implementation 'com.instabug.library:instabug:8.1.1'
    implementation 'com.wdullaer:materialdatetimepicker:3.5.2'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    implementation 'net.hockeyapp.android:HockeySDK:4.1.5'    
    implementation group: 'com.joooonho', name: 'selectableroundedimageview', version: '1.0.1'
    implementation 'com.mixpanel.android:mixpanel-android:5.+'
    debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.5'
    //releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.5'
    testImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.5'
    testImplementation 'junit:junit:4.12'
    testImplementation 'org.mockito:mockito-core:1.9.5'
    testImplementation 'com.google.dexmaker:dexmaker:1.1'
    testImplementation 'org.powermock:powermock-api-mockito:1.6.4'
    testImplementation 'org.powermock:powermock-module-junit4:1.6.4'
    testImplementation 'org.powermock:powermock-core:1.6.4'
    testImplementation 'org.powermock:powermock-module-junit4-rule:1.5.4'
    testImplementation 'org.powermock:powermock-classloading-base:1.6.4'
    testImplementation 'org.powermock:powermock-classloading-xstream:1.5.4'
    testImplementation 'org.powermock:powermock-module-testng:1.6.4'

}

версия Gradle

classpath 'com.android.tools.build:gradle:3.0.1'

Невозможно выяснить, где проблемаесть, не могли бы вы поделиться информацией о том, что я могу делать неправильно

Спасибо R

1 Ответ

0 голосов
/ 21 марта 2019

Вы смешиваете rxjava 2 с планировщиками rxjava 1.Возможно, rxrelay извлекает rxjava, и вы можете импортировать планировщики оттуда случайно - я не подтвердил это, но если это так, вы можете просто перейти на более свежую версию rxrelay.Проверьте readme для более подробной информации.Также помните, что это может быть любая другая библиотека, а не rxrelay.

В любом случае, как видно из полного пути в ошибке, в нем говорится, что rx.Scheduler (планировщик rxjava1) нельзя использовать какпараметр для метода, который ожидает io.reactivex.Schedulers (планировщик rxjava2)

Я бы настоятельно рекомендовал обновить все библиотеки до rxjava2, чтобы вы больше не обнаружили эту проблему.

...