Не могу использовать Rx Java с Hengam SDK - PullRequest
2 голосов
/ 24 марта 2020

Я недавно добавил Hengam SDK в мой проект; но, к сожалению, я больше не могу использовать Rx Java, и это приводит к дублированию исключений. Стоит отметить, что до добавления SDK в проект все работало правильно.

Вот трассировка стека:

Duplicate class io.reactivex.BackpressureStrategy found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.Completable found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.CompletableEmitter found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.CompletableObserver found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.CompletableOnSubscribe found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.CompletableSource found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.Emitter found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.Flowable found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.Maybe found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.MaybeEmitter found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.MaybeObserver found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.MaybeOnSubscribe found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.MaybeSource found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.Observable found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.Observable$1 found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.ObservableConverter found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.ObservableEmitter found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.ObservableOnSubscribe found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.ObservableOperator found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.ObservableSource found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.ObservableTransformer found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.Observer found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.Scheduler found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.Scheduler$Worker found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.Single found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.SingleEmitter found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.SingleObserver found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.SingleOnSubscribe found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.SingleSource found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.annotations.CheckReturnValue found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.annotations.NonNull found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.annotations.Nullable found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2io.hengam.lib:rxjava:2.2.9)
Duplicate class io.reactivex.disposables.Disposable found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.disposables.Disposables found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.exceptions.CompositeException found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.exceptions.Exceptions found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.exceptions.MissingBackpressureException found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.exceptions.OnErrorNotImplementedException found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.exceptions.ProtocolViolationException found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.exceptions.UndeliverableException found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.functions.Action found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.functions.BiConsumer found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.functions.BiFunction found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.functions.Consumer found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.functions.Function found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.functions.Predicate found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.internal.functions.Functions found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.observables.GroupedObservable found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.plugins.RxJavaPlugins found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.schedulers.Schedulers found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.schedulers.TestScheduler found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)
Duplicate class io.reactivex.subjects.PublishSubject found in modules rxjava-2.0.4.jar (io.hengam.lib:rxjava:2.0.4) and rxjava-2.2.9.jar (io.reactivex.rxjava2:rxjava:2.2.9)

Что с ним не так? Есть ли конфликт с SDK или ему нужна дополнительная конфигурация для использования Rx Java? Любой ответ будет оценен ...

Ответы [ 2 ]

1 голос
/ 25 марта 2020

AFAIK, Hengam имеет настроенный RxJava2 (для сохранения окончательного размера SDK ниже). Поэтому, если вы хотите использовать RxJava2 вместе с Hengam, вам нужно исключить его пользовательский RxJava2 и реализовать реальную библиотеку.

implementation ('io.hengam.lib:base:1.0.8')  {
   exclude group: 'io.hengam.lib', module: 'rxjava'
}

implementation 'io.reactivex.rxjava2:rxjava:2.2.9'

Так что io.hengam.lib:rxjava не будет импортирован в путь к классам, и вместо этого RxJava2 из ReactiveX будет добавлен.

Примечание :
1. Используйте RxJava2 версии 2.2.9 или выше.
2. RxJava3 имеет другую упаковку по сравнению с RxJava2. Поэтому убедитесь, что вы добавили RxJava2

Ссылка на Hengam в Jcenter

0 голосов
/ 25 марта 2020

Вам необходимо исключить группу Rx Java из зависимости или удалить зависимость Rx Java из gradle.

implementation ('io.hengam.lib:base:1.0.5')  {
    exclude group: 'io.reactivex.rxjava2', module: 'rxjava'
}
...