このライブラリは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
バージョン2.0には、AndroidXサポートライブラリが必要です。 アプリが引き続きレガシーサポートライブラリを使用している場合は、アップグレードするまで1.14.2を使用してください。 2.0.0の変更ログをまもなく投稿します。
@oprisnikに感謝します。 AndroidXサポートライブラリへの移行が機能しました。 問題は解決された :)
素晴らしい。 私は変更ログに取り組んでいます。まもなく利用可能になるはずです。 そのために残念 :)
変更ログが利用可能になりました: https :
AndroidX以外のビルドの場合は、引き続きv1.13.0を使用してください
やあみんな、
最近、フレスコバージョンを1.9.0から2.0.0に移行しましたが、アプリはAndroid P上にあります。AndroidXサポートライブラリがないため、同じ問題に直面していました。AndroidXサポートライブラリへの移行は魅力のように機能しますが、何らかの理由でAndroidXに移行できない場合はv1.13.0を使用して正常に動作しますが、 @ 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の使用にはまだ問題があります
変更ログが利用可能になりました: https :
AndroidX以外のビルドの場合は、引き続きv1.14.2を使用してくださいv1.14.2の使用にはまだ問題があります
v1.13.0を使用すると問題が修正されました
バージョン2.0には、AndroidXサポートライブラリが必要です。 アプリが引き続きレガシーサポートライブラリを使用している場合は、アップグレードするまで1.14.2を使用してください。 2.0.0の変更ログをまもなく投稿します。
バージョンを1.14.2にダウングレードしましたが、このエラーは引き続き発生していました。
@iamsdkはください。https: //github.com/facebook/fresco/issues/2365#issuecomment-510322092は無視して
@iamsdk v1.13.0を試し#2365(コメント)は無視してください。
はい、v1.13.0を試しましたが、まだ機能しませんでした。そのため、プロジェクトをandroidxにマージしましたが、現在は正常に機能しています。
@iamsdk v1.13.0を試し#2365(コメント)は無視してください。
ご協力いただきありがとうございます。
最も参考になるコメント
やあみんな、
最近、フレスコバージョンを1.9.0から2.0.0に移行しましたが、アプリはAndroid P上にあります。AndroidXサポートライブラリがないため、同じ問題に直面していました。AndroidXサポートライブラリへの移行は魅力のように機能しますが、何らかの理由でAndroidXに移行できない場合はv1.13.0を使用して正常に動作しますが、 @ oprisnikが何らかの理由で動作しなかったと言ったように、
これが誰かを助けることを願っています:)
implementation 'com.facebook.fresco:fresco:1.13.0'
implementation 'com.facebook.fresco:animated-gif:1.13.0'