Ошибка RxJavaPlugins Не нашел класс "com.google.devtools.build.android.desugar.runtime.ThrowableExtension"

После обновления Android Studio 3.0 Beta 1 появляется следующая ошибка. Когда я понизился, ошибка исчезла.

Студия Build: Android Studio 3.0 Beta 1 Версия Gradle Plugin: 'com.android.tools.build:gradle:3.0.0-beta1' Версия Gradle: .0.0-beta1 Версия Java: 8 ОС: MacOSX

java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/devtools/build/android/desugar/runtime/ThrowableExtension; at io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:364) at io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run(HandlerScheduler.java:113) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6121) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779) Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.devtools.build.android.desugar.runtime.ThrowableExtension" on path: DexPathList[[zip file "/data/app/sark.savvy.Debug-1/base.apk", zip file "/data/app/sark.savvy.Debug-1/split_lib_dependencies_apk.apk", zip file "/data/app/sark.savvy.Debug-1/split_lib_slice_0_apk.apk", zip file "/data/app/sark.savvy.Debug-1/split_lib_slice_1_apk.apk", zip file "/data/app/sark.savvy.Debug-1/split_lib_slice_2_apk.apk", zip file "/data/app/sark.savvy.Debug-1/split_lib_slice_3_apk.apk", zip file "/data/app/sark.savvy.Debug-1/split_lib_slice_4_apk.apk", zip file "/data/app/sark.savvy.Debug-1/split_lib_slice_5_apk.apk", zip file "/data/app/sark.savvy.Debug-1/split_lib_slice_6_apk.apk", zip file "/data/app/sark.savvy.Debug-1/split_lib_slice_7_apk.apk", zip file "/data/app/sark.savvy.Debug-1/split_lib_slice_8_apk.apk", zip file "/data/app/sark.savvy.Debug-1/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/sark.savvy.Debug-1/lib/arm64, /system/lib64, /vendor/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:380) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:364) at io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run(HandlerScheduler.java:113) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) 

Solutions Collecting From Web of "Ошибка RxJavaPlugins Не нашел класс "com.google.devtools.build.android.desugar.runtime.ThrowableExtension""

Я также столкнулся с такой же ошибкой после обновления до версии AS 3.0 Beta 1 и нашел обходной путь: я сделал копию файла ThrowableExtension.java из источников Google и поместил его в ThrowableExtension.java app\src\main\java\com\google\devtools\build\android\desugar\runtime (вам нужно создать эти папки).

Обновление (регрессия в AS 3.0 Beta 3)

Проблема вернулась к бета-версии 3. Google уже знает об этой проблеме и снова ее открыл. См. https://issuetracker.google.com/issues/64527520.

Спасибо @yvolk за сообщение об этом и @ ghui-zhang за подтверждение.


Окончательное обновление (исправление в AS 3.0 Beta 2)

Как отмечает Jordan Bondo в своем комментарии, AS 3.0 Beta 2 уже выпущен с плагином 3.0.0-beta2, который исправляет проблему.

Итак, решение состоит в том, чтобы обновить плагин от 3.0.0 до бета-версии не более 3.0.0-бета2.


история

Google обрабатывает эту проблему с приоритетом P0 (это приоритет приоритета) в этой проблеме: https://issuetracker.google.com/issues/64527520

Тем временем обходной путь @edgars сделал это для меня. Благодаря!

Обновление 2 : исправлено , запланировано на следующую бета-версию «Fix войдет в плагин 3.0.0-beta2»

Обновление : дополнительное обходное решение, совместно используемое Googler:

Временным обходным решением является установка версии min sdk ниже 19. Проблема заключается в том, что Desugar будет обрабатывать try-with-resources для API 19+, хотя платформа поддерживает его, но мы не будем упаковывать эти классы.

Обновление 3 : если не использовать функции Java 8 в коде Java, отключите его (это также может быть полезно для кодовых баз Котлина). См. Этот комментарий .