Error de RxJavaPlugins No se encontrĂ³ la clase "com.google.devtools.build.android.desugar.runtime.ThrowableExtension"
android-gradle rx-java2 (3)
Después de actualizar Android Studio 3.0 Beta 1 obteniendo el siguiente error. Cuando bajé de categoría el error desapareció.
Studio Build: Android Studio 3.0 Versión Beta 1 de Gradle Plugin: ''com.android.tools.build:gradle:3.0.0-beta1'' Versión de Gradle: .0.0-beta1 Versión de Java: 8 SO: 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)
Este problema está de vuelta en Android Studio 3.0.1. El nuevo hilo de Google es https://issuetracker.google.com/issues/77591528 .
Si todavía tiene este problema, inicie el hilo y publique lo que está ejecutando.
También encontré el mismo error después de actualizar a AS 3.0 Beta 1 y encontré una solución alternativa: hice una copia del archivo ThrowableExtension.java
de las fuentes de Google y lo puse en app/src/main/java/com/google/devtools/build/android/desugar/runtime
(tienes que crear esas carpetas).
Actualización (aún funciona en el plugin Gradle 3.0.0-beta5, confirmado por @ TmTron)
classpath ''com.android.tools.build:gradle:3.0.0-beta5''
Actualizar (corregir en el plugin Gradle 3.0.0-beta4)
Problema resuelto de nuevo en el plugin Gradle 3.0.0-beta4. Se espera que se incluya en el próximo AS 3.0 Beta 4, pero ya se puede usar en el AS 3.0 Beta 3 actual mediante la actualización de nivel superior build.gradle:
classpath ''com.android.tools.build:gradle:3.0.0-beta4''
Actualización (regresión en AS 3.0 Beta 3)
El problema ha vuelto a la versión beta 3. Google ya está al tanto del problema y lo ha vuelto a abrir. Consulte https://issuetracker.google.com/issues/64527520
Corregido en el futuro beta 4, pendiente de ser lanzado.
Gracias a @yvolk por informarlo y a @ ghui-zhang por la confirmación.
Actualización final (corrección en AS 3.0 Beta 2)
Como dice Jordan Bondo en su comentario, AS 3.0 Beta 2 ya se lanzó con el complemento 3.0.0-beta2 que soluciona el problema.
Entonces, la solución es actualizar el complemento de 3.0.0-beta1 a al menos 3.0.0-beta2.
Historia
Google está manejando este problema con la prioridad P0 (esta es la prioridad TOP) en este problema: https://issuetracker.google.com/issues/64527520
Mientras tanto, la solución de @edgars lo hizo para mí. ¡Gracias!
Actualización 2 : Corregido , programado para la próxima versión beta "La solución aterrizará en el complemento 3.0.0-beta2"
Actualización : solución adicional compartida por un Googler:
La solución temporal es establecer la versión de min sdk por debajo de 19. El problema es que Desugar procesará try-with-resources para API 19+, aunque la plataforma lo admite, pero no empaquetaremos esas clases.
Actualización 3 : si no usa las características de Java 8 en el código Java, desactívelo (esto también puede ser útil para las bases de código de Kotlin). Ver este comentario .