web-dev-qa-db-fra.com

Erreur RxJavaPlugins Impossible de trouver la classe "com.google.devtools.build.Android.desugar.runtime.ThrowableExtension"

Après la mise à niveau Android Studio 3.0 Beta 1 obtient l'erreur suivante. Lorsque j'ai rétrogradé, l'erreur a disparu.

Build Studio: Android Version Studio 3.0 Beta 1 du plug-in Gradle: 'com.Android.tools.build:gradle:3.0.0-beta1' Version de Gradle: .0.0-beta1 Version de Java : 8 OS: 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) 
28
Bulu

Mise à jour (fonctionne toujours dans le plugin Gradle 3.0.0-beta5, confirmé par @ TmTron)

classpath 'com.Android.tools.build:gradle:3.0.0-beta5'

Mise à jour (correction dans le plugin Gradle 3.0.0-beta4)

Problème résolu à nouveau dans le plugin Gradle 3.0.0-beta4. Devrait être inclus dans la prochaine AS 3.0 Beta 4, mais peut déjà être utilisé dans l'AS 3.0 Beta 3 actuelle en mettant à jour le niveau supérieur build.gradle:

classpath 'com.Android.tools.build:gradle:3.0.0-beta4'

Mise à jour (régression dans AS 3.0 Beta 3)

Le problème est de retour sur la bêta 3. Google est déjà au courant du problème et l'a rouvert. Voir https://issuetracker.google.com/issues/6452752

Corrigé dans la future version bêta 4, en attente de publication.

Merci @yvolk de l'avoir signalé et @ ghui-zhang pour la confirmation.


Mise à jour finale (correction dans AS 3.0 Beta 2)

Comme le dit Jordan Bondo dans son commentaire, AS 3.0 Beta 2 est déjà publié contenant le plugin 3.0.0-beta2 qui résout le problème.

Ainsi, la solution consiste à mettre à niveau le plugin de 3.0.0-beta1 à au moins 3.0.0-beta2.


Historique

Google traite ce problème avec la priorité P0 (c'est la priorité TOP) dans ce problème: https://issuetracker.google.com/issues/6452752

En attendant, la solution de contournement @edgars l'a fait pour moi. Merci!

Mise à jour 2 : Corrigé , prévu pour la prochaine version bêta " Le correctif arrivera dans le plugin 3.0.0-beta2 "

Mise à jour : solution de contournement supplémentaire partagée par un googleur:

La solution de contournement temporaire consiste à définir la version min sdk en dessous de 19. Le problème est que Desugar traitera les essais avec les ressources pour API 19+, bien que la plate-forme le supporte, mais nous n'allons pas empaqueter ces classes.

Mise à jour 3 : si vous n'utilisez pas Java 8 fonctionnalités dans Java code, désactivez (cela peut également être utile pour les bases de code Kotlin). Voir ce commentaire .

23

J'ai également rencontré la même erreur après la mise à niveau vers AS 3.0 Beta 1 et j'ai trouvé une solution de contournement: j'ai fait une copie du ThrowableExtension.Java fichier de sources de Google et le mettre dans app\src\main\Java\com\google\devtools\build\Android\desugar\runtime (vous devez créer ces dossiers).

21
Edgars

Ce problème est de retour sur Android Studio 3.0.1. Le nouveau thread Google est https://issuetracker.google.com/issues/77591528 .

Veuillez suivre le fil si vous rencontrez toujours ce problème et publier ce que vous rencontrez.

1
Marline