首页 > 解决方案 > 降级库的问题,它一直被缓存并崩溃

问题描述

问题

Android Studio 保留picasso:2.71828在项目中及其导致的问题

我试过了

我正在使用实现 'com.squareup.picasso:picasso:2.71828'

由于与px-android存在一些冲突,我决定删除 picasso 或只使用 picasso:2.5.2

但是当我降级和同步时

px-android 尝试使用Picasso.with(context)...并且不存在于 2.71828,甚至实现 picasso:2.5.2

好吧,我认为它是一个缓存问题,或者类似的东西

错误是

java.lang.NoSuchMethodError: No static method with(Landroid/content/Context;)Lcom/squareup/picasso/Picasso; in class Lcom/squareup/picasso/Picasso; or its super classes (declaration of 'com.squareup.picasso.Picasso' appears in /data/app/app.package.here/base.apk:classes3.dex)
        at com.mercadopago.android.px.internal.features.paymentresult.components.IconRenderer.renderIconFromResource(IconRenderer.java:64)
        at com.mercadopago.android.px.internal.features.paymentresult.components.IconRenderer.render(IconRenderer.java:33)
        at com.mercadopago.android.px.internal.features.paymentresult.components.IconRenderer.render(IconRenderer.java:18)
        at com.mercadopago.android.px.internal.view.Renderer.render(Renderer.java:35)
        at com.mercadopago.android.px.internal.features.paymentresult.components.HeaderRenderer.render(HeaderRenderer.java:42)
        at com.mercadopago.android.px.internal.features.paymentresult.components.HeaderRenderer.render(HeaderRenderer.java:18)
        at com.mercadopago.android.px.internal.view.Renderer.render(Renderer.java:35)
        at com.mercadopago.android.px.internal.features.paymentresult.components.PaymentResultRenderer.render(PaymentResultRenderer.java:24)
        at com.mercadopago.android.px.internal.features.paymentresult.components.PaymentResultRenderer.render(PaymentResultRenderer.java:10)
        at com.mercadopago.android.px.internal.view.Renderer.render(Renderer.java:35)
        at com.mercadopago.android.px.internal.view.ComponentManager.render(ComponentManager.java:30)
        at com.mercadopago.android.px.internal.view.ComponentManager.onProps(ComponentManager.java:64)
        at com.mercadopago.android.px.internal.features.paymentresult.PaymentResultPropsMutator.notifyPropsChanged(PaymentResultPropsMutator.java:60)
        at com.mercadopago.android.px.internal.features.paymentresult.PaymentResultPresenter.checkGetInstructions(PaymentResultPresenter.java:99)
        at com.mercadopago.android.px.internal.features.paymentresult.PaymentResultPresenter.onValidStart(PaymentResultPresenter.java:72)
        at com.mercadopago.android.px.internal.features.paymentresult.PaymentResultPresenter.initialize(PaymentResultPresenter.java:52)
        at com.mercadopago.android.px.internal.features.paymentresult.PaymentResultActivity.onResume(PaymentResultActivity.java:150)
        at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1269)
        at android.app.Activity.performResume(Activity.java:6783)
        at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3406)
        at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3469)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2732)
        at android.app.ActivityThread.-wrap12(ActivityThread.java)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:154)
        at android.app.ActivityThread.main(ActivityThread.java:6119)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)```


标签: androidgradleandroid-gradle-plugin

解决方案


解决

好吧,我在app.gradle中解决了这个问题

在https://stackoverflow.com/a/44404372/6046390中找到的代码

android {
    ...
    configurations.all {
        resolutionStrategy.force 'com.squareup.picasso:picasso:2.5.2'
    }
}

推荐阅读