RxJavaPlugins错误找不到类"com.google.devtools.build.android.desugar.runtime.ThrowableExtension" [英] RxJavaPlugins Error Didn't find class "com.google.devtools.build.android.desugar.runtime.ThrowableExtension"

查看:289
本文介绍了RxJavaPlugins错误找不到类"com.google.devtools.build.android.desugar.runtime.ThrowableExtension"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

升级Android Studio 3.0 Beta 1后,出现以下错误. 当我降级时,错误消失了.

After upgrading Android Studio 3.0 Beta 1 getting the following error. When I downgraded the error disappeared.

Studio Build:Android Studio 3.0 Beta 1 Gradle插件的版本:"com.android.tools.build:gradle:3.0.0-beta1" Gradle版本:.0.0-beta1 Java版本:8 操作系统:MacOSX

Studio Build: Android Studio 3.0 Beta 1 Version of Gradle Plugin: 'com.android.tools.build:gradle:3.0.0-beta1' Version of Gradle:.0.0-beta1 Version of 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) 

推荐答案

更新(仍在Gradle插件3.0.0-beta5中运行,已通过@ TmTron确认)

Update (still working in Gradle plugin 3.0.0-beta5, confirmed by @ TmTron)

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


更新(在Gradle插件3.0.0-beta4中已修复)


Update (fix in Gradle plugin 3.0.0-beta4)

该问题已在Gradle插件3.0.0-beta4中再次修复.预计将包含在下一个AS 3.0 Beta 4中,但可​​以通过更新顶级build.gradle在当前的AS 3.0 Beta 3中使用:

Issue fixed again in Gradle plugin 3.0.0-beta4. Expected to be included in next AS 3.0 Beta 4, but can be already used in current AS 3.0 Beta 3 by updating top level build.gradle:

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


更新(AS 3.0 Beta 3中的回归)


Update (regression in AS 3.0 Beta 3)

该问题重新出现在beta 3上.Google已经意识到此问题,并已将其重新打开.请参见 https://issuetracker.google.com/issues/64527520

The issue is back on beta 3. Google is already aware of the issue and has reopened it. See https://issuetracker.google.com/issues/64527520

已在将来的Beta 4中修复,有待发布.

Fixed in future beta 4, pending to be released.

感谢@yvolk进行举报,并感谢@ ghui-zhang进行确认.

Thanks @yvolk for reporting it and @ghui-zhang for the confirmation.

最终更新(AS 3.0 Beta 2中的修复程序)

Final Update (fix in AS 3.0 Beta 2)

正如Jordan Bondo在评论中所说,AS 3.0 Beta 2已经发布,其中包含可解决此问题的插件3.0.0-beta2.

As Jordan Bondo says in his comment, AS 3.0 Beta 2 is already released containing the plugin 3.0.0-beta2 that fixes the issue.

因此,解决方案是将插件从3.0.0-beta1升级到至少3.0.0-beta2.

So, the solution is to upgrade the plugin from 3.0.0-beta1 to at least 3.0.0-beta2.

历史

Google在此问题中的优先级为P0(这是TOP优先级)正在处理此问题: https://issuetracker.google.com/issues/64527520

Google is handling this issue with priority P0 (this is TOP priority) in this issue: https://issuetracker.google.com/issues/64527520

同时,@ edgars的解决方法对我来说很有效.谢谢!

In the meantime, @edgars workaround made it for me. Thanks!

更新2 :已修复,计划在下一个测试版

Update 2: Fixed, scheduled for next beta "Fix will land in plugin 3.0.0-beta2"

更新:Google员工共享的其他解决方法 :

Update: additional workaround shared by a Googler:

暂时的解决方法是将sdk的最低版本设置为19以下.问题是,尽管平台支持,但Desugar将处理API 19+的try-with-resources,但我们不会打包这些类.

Temporary workaround is to set min sdk version below 19. Issue is that Desugar will process try-with-resources for API 19+, although platform supports it, but we will not package those classes.

更新3 :如果未在Java代码中使用Java 8功能,请将其禁用(这对于Kotlin代码库也很有用).请参阅此评论.

Update 3: if not using Java 8 features in Java code, disable it (this can also be useful for Kotlin codebases). See this comment.

这篇关于RxJavaPlugins错误找不到类"com.google.devtools.build.android.desugar.runtime.ThrowableExtension"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆