android android-gradle rx-java2 android-studio-3.0

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) 



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 .