28 votes

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

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

Version de Studio: Android Studio 3.0 Beta 1 Version de Plugin 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) 
 

23voto

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

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

Mise à jour (correction de plugin Gradle 3.0.0-beta4)

Question fixe de nouveau dans le plugin Gradle 3.0.0-beta4. Devrait être incluse dans le prochain 3.0 Beta 4, mais peut être déjà utilisé dans le courant de la version 3.0 Beta 3 par la mise à jour de haut niveau construire.gradle:

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

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

La question est de retour sur la beta 3. Google est déjà au courant de la question et a rouvert il. Voir https://issuetracker.google.com/issues/64527520

Fixe à l'avenir de la beta 4, en attente d'être libéré.

Merci @yvolk pour des rapports et @ghui-zhang pour la confirmation.


Dernière mise à Jour (correction en as 3.0 Bêta 2)

Comme la Jordanie Bondo dit dans son commentaire, 3.0 Bêta 2 est déjà sorti contenant le plugin 3.0.0-beta2 qui résout le problème.

Donc, la solution est de mettre à jour le plugin à partir 3.0.0-beta1 pour au moins 3.0.0-beta2.


L'histoire

Google est le traitement de cette question avec la priorité P0 (c'est la priorité absolue) dans ce numéro: https://issuetracker.google.com/issues/64527520

Dans l'intervalle, @edgar solution de contournement il a fait pour moi. Merci!

Mise à jour 2: Fixe, prévue pour la prochaine bêta "Fix va atterrir dans le plugin 3.0.0-beta2"

Mise à jour: autre solution de contournement partagé par un Googleurs:

Solution temporaire est de définir min version du sdk en dessous de 19. Problème, c'est que Desugar sera procédé à essayer-avec-des ressources pour l'API 19+, bien que la plate-forme prend en charge, mais nous ne ferons pas de package de ces classes.

Mise à jour 3: si vous n'utilisez pas de Java 8 fonctionnalités dans le code Java, le désactiver (ce qui peut aussi être utile pour Kotlin code). Voir ce commentaire.

20voto

Edgars Points 260

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 fichier ThrowableExtension.java à partir des sources de Google et l'ai mise dans app\src\main\java\com\google\devtools\build\android\desugar\runtime (vous devez créer ces dossiers).

1voto

Marline Points 116

Ce problème est de retour sur Android Studio 3.0.1. Le nouveau fil de discussion 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.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X