Fresco: java.lang.NoClassDefFoundError:解析失败:Landroidx/core/util/Pools$SynchronizedPool;

创建于 2019-06-30  ·  11评论  ·  资料来源: facebook/fresco

这个库在 1.9.0 上运行良好。

我更新到 2.0.0 并收到此错误。

我降级到 1.9.0 甚至用 1.13.0 测试过。 工作得很好。

所以2.0.0存在一些问题,在这条线上应用程序崩溃了

Fresco.initialize(this);

想要查询更多的信息。 我也尝试过这些没有用的解决方案。

implementation 'com.android.support:support-compat:28.0.0'

在 gradle.properties 中添加这一行也不起作用。

android.enableJetifier = false

具有以下日志输出。 谢谢

--------- beginning of crash 06-30 12:16:38.778 5360-5360/? E/AndroidRuntime: FATAL EXCEPTION: main Process: com.my.app, PID: 5360 java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/core/util/Pools$SynchronizedPool; at com.facebook.imagepipeline.platform.PlatformDecoderFactory.buildPlatformDecoder(PlatformDecoderFactory.java:34) at com.facebook.imagepipeline.core.ImagePipelineFactory.getPlatformDecoder(ImagePipelineFactory.java:304) at com.facebook.imagepipeline.core.ImagePipelineFactory.getPlatformBitmapFactory(ImagePipelineFactory.java:296) at com.facebook.imagepipeline.core.ImagePipelineFactory.getAnimatedFactory(ImagePipelineFactory.java:159) at com.facebook.imagepipeline.core.ImagePipelineFactory.getImageDecoder(ImagePipelineFactory.java:219) at com.facebook.imagepipeline.core.ImagePipelineFactory.getProducerFactory(ImagePipelineFactory.java:319) at com.facebook.imagepipeline.core.ImagePipelineFactory.getProducerSequenceFactory(ImagePipelineFactory.java:350) at com.facebook.imagepipeline.core.ImagePipelineFactory.getImagePipeline(ImagePipelineFactory.java:276) at com.facebook.drawee.backends.pipeline.PipelineDraweeControllerBuilderSupplier.<init>(PipelineDraweeControllerBuilderSupplier.java:53) at com.facebook.drawee.backends.pipeline.PipelineDraweeControllerBuilderSupplier.<init>(PipelineDraweeControllerBuilderSupplier.java:44) at com.facebook.drawee.backends.pipeline.PipelineDraweeControllerBuilderSupplier.<init>(PipelineDraweeControllerBuilderSupplier.java:37) at com.facebook.drawee.backends.pipeline.Fresco.initializeDrawee(Fresco.java:96) at com.facebook.drawee.backends.pipeline.Fresco.initialize(Fresco.java:85) at com.facebook.drawee.backends.pipeline.Fresco.initialize(Fresco.java:38) at com.my.app.activities.MainActivity.onCreate(MainActivity.java:77) at android.app.Activity.performCreate(Activity.java:5990) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) at android.app.ActivityThread.access$800(ActivityThread.java:151) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5254) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.core.util.Pools$SynchronizedPool" on path: DexPathList[[zip file "/data/app/com.my.app-2/base.apk"],nativeLibraryDirectories=[/data/app/com.my.app-2/lib/x86, /vendor/lib, /system/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:511) at java.lang.ClassLoader.loadClass(ClassLoader.java:469) at com.facebook.imagepipeline.platform.PlatformDecoderFactory.buildPlatformDecoder(PlatformDecoderFactory.java:34)  at com.facebook.imagepipeline.core.ImagePipelineFactory.getPlatformDecoder(ImagePipelineFactory.java:304)  at com.facebook.imagepipeline.core.ImagePipelineFactory.getPlatformBitmapFactory(ImagePipelineFactory.java:296)  at com.facebook.imagepipeline.core.ImagePipelineFactory.getAnimatedFactory(ImagePipelineFactory.java:159)  at com.facebook.imagepipeline.core.ImagePipelineFactory.getImageDecoder(ImagePipelineFactory.java:219)  at com.facebook.imagepipeline.core.ImagePipelineFactory.getProducerFactory(ImagePipelineFactory.java:319)  at com.facebook.imagepipeline.core.ImagePipelineFactory.getProducerSequenceFactory(ImagePipelineFactory.java:350)  at com.facebook.imagepipeline.core.ImagePipelineFactory.getImagePipeline(ImagePipelineFactory.java:276)  at com.facebook.drawee.backends.pipeline.PipelineDraweeControllerBuilderSupplier.<init>(PipelineDraweeControllerBuilderSupplier.java:53)  at com.facebook.drawee.backends.pipeline.PipelineDraweeControllerBuilderSupplier.<init>(PipelineDraweeControllerBuilderSupplier.java:44)  at com.facebook.drawee.backends.pipeline.PipelineDraweeControllerBuilderSupplier.<init>(PipelineDraweeControllerBuilderSupplier.java:37)  at com.facebook.drawee.backends.pipeline.Fresco.initializeDrawee(Fresco.java:96)  at com.facebook.drawee.backends.pipeline.Fresco.initialize(Fresco.java:85)  at com.facebook.drawee.backends.pipeline.Fresco.initialize(Fresco.java:38)  at com.my.app.activities.MainActivity.onCreate(MainActivity.java:77)  at android.app.Activity.performCreate(Activity.java:5990)  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)  at android.app.ActivityThread.access$800(ActivityThread.java:151)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:135)  at android.app.ActivityThread.main(ActivityThread.java:5254)  at java.lang.reflect.Method.invoke(Native Method)  at java.lang.reflect.Method.invoke(Method.java:372)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)  Suppressed: java.lang.ClassNotFoundException: androidx.core.util.Pools$SynchronizedPool at java.lang.Class.classForName(Native Method) at java.lang.BootClassLoader.findClass(ClassLoader.java:781) at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) at java.lang.ClassLoader.loadClass(ClassLoader.java:504) ... 29 more Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available

最有用的评论

大家好,

我最近将我的 fresco 版本从 1.9.0 迁移到 2.0.0,我的应用程序在 android P 上没有 Android X 支持库,所以我面临着同样的问题,迁移到 android X 支持库就像一个魅力,但是如果由于某种原因你不能移动到 Android X 使用 v1.13.0 它工作正常,我尝试使用 v1.14.2,就像@oprisnik说的那样,由于某种原因它对我不起作用。

希望这会帮助某人:)

implementation 'com.facebook.fresco:fresco:1.13.0'
implementation 'com.facebook.fresco:animated-gif:1.13.0'

所有11条评论

2.0 版需要 AndroidX 支持库。 如果您的应用仍在使用旧版支持库,请在升级之前使用 1.14.2。 我们将很快发布 2.0.0 的变更日志。

谢谢@oprisnik。 迁移到 AndroidX 支持库有效。 问题解决了 :)

惊人的。 我正在处理变更日志,应该很快就会可用。 对不起:)

变更日志现已可用: https :

对于非 AndroidX 版本,请继续使用 v1.13.0

大家好,

我最近将我的 fresco 版本从 1.9.0 迁移到 2.0.0,我的应用程序在 android P 上没有 Android X 支持库,所以我面临着同样的问题,迁移到 android X 支持库就像一个魅力,但是如果由于某种原因你不能移动到 Android X 使用 v1.13.0 它工作正常,我尝试使用 v1.14.2,就像@oprisnik说的那样,由于某种原因它对我不起作用。

希望这会帮助某人:)

implementation 'com.facebook.fresco:fresco:1.13.0'
implementation 'com.facebook.fresco:animated-gif:1.13.0'

变更日志现已可用: https :

对于非 AndroidX 版本,请继续使用 v1.14.2

使用 v1.14.2 还是有问题
image

变更日志现已可用: https :
对于非 AndroidX 版本,请继续使用 v1.14.2

使用 v1.14.2 还是有问题
image

使用 v1.13.0 修复了我的问题

2.0 版需要 AndroidX 支持库。 如果您的应用仍在使用旧版支持库,请在升级之前使用 1.14.2。 我们将很快发布 2.0.0 的变更日志。

我已经将版本降级到 1.14.2,但是这个错误仍然发生。

@iamsdk您是否尝试过 v1.13.0 应该可以工作,如果您已经尝试过,请检查我上面的评论,只需忽略https://github.com/facebook/fresco/issues/2365#issuecomment -510322092。

@iamsdk您尝试过 v1.13.0 吗,它应该可以工作,如果您已经尝试过,请查看我上面的评论,请忽略#2365 (comment)

是的,我尝试了 v1.13.0,但仍然无效,所以我将项目合并到 androidx,现在效果很好。

@iamsdk您尝试过 v1.13.0 吗,它应该可以工作,如果您已经尝试过,请查看我上面的评论,请忽略#2365 (comment)

谢谢你的帮助。

此页面是否有帮助?
0 / 5 - 0 等级