专栏首页CodeAndroid解决java.lang.NoSuchMethodError: No virtual method into报错问题过程

Android解决java.lang.NoSuchMethodError: No virtual method into报错问题过程

最近项目中需要接入容联七陌客服系统,接入过程中将容联的Demo作为module添加到项目中,然后添加依赖,过程貌似很顺利,编译也没有问题,可是进入客服界面时,却报了下面的错误:

在这里插入图片描述

图片看起来不清晰,看报错代码:

06-13 17:16:11.546 30497-30497/? E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.sami91sami.h5, PID: 30497
    java.lang.NoSuchMethodError: No virtual method into
(Landroid/widget/ImageView;)Lcom/bumptech/glide/request/target/Target; in class 
Lcom/a/a/i; or its super classes (declaration of 'com.a.a.i' appears in 
/data/app/com.sami91sami.h5-1/base.apk)
        at com.m7.imkfsdk.chat.b.c.a(CardRxChatBox.java:52)
        at com.m7.imkfsdk.chat.b.a.b(BaseChatRow.java:90)
        at com.m7.imkfsdk.chat.a.a.getView(ChatAdapter.java:168)
        at android.widget.HeaderViewListAdapter.getView
(HeaderViewListAdapter.java:220)
        at android.widget.AbsListView.obtainView(AbsListView.java:2347)
        at android.widget.ListView.makeAndAddView(ListView.java:1864)
        at android.widget.ListView.fillSpecific(ListView.java:1344)
        at android.widget.ListView.layoutChildren(ListView.java:1663)
        at android.widget.AbsListView.onLayout(AbsListView.java:2151)
        at android.view.View.layout(View.java:15671)
        at android.view.ViewGroup.layout(ViewGroup.java:5038)
        at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1076)
        at android.view.View.layout(View.java:15671)
        at android.view.ViewGroup.layout(ViewGroup.java:5038)
        at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1076)
        at android.view.View.layout(View.java:15671)
        at android.view.ViewGroup.layout(ViewGroup.java:5038)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
        at android.view.View.layout(View.java:15671)
        at android.view.ViewGroup.layout(ViewGroup.java:5038)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
        at android.view.View.layout(View.java:15671)
        at android.view.ViewGroup.layout(ViewGroup.java:5038)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
        at android.view.View.layout(View.java:15671)
        at android.view.ViewGroup.layout(ViewGroup.java:5038)
        at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2110)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1867)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1085)
        at android.view.ViewRootImpl$TraversalRunnable.run
(ViewRootImpl.java:5909)
        at android.view.Choreographer$CallbackRecord.run
(Choreographer.java:767)
        at android.view.Choreographer.doCallbacks(Choreographer.java:580)
        at android.view.Choreographer.doFrame(Choreographer.java:550)
        at android.view.Choreographer$FrameDisplayEventReceiver.run
(Choreographer.java:753)
        at android.os.Handler.handleCallback(Handler.java:739)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:135)
        at android.app.ActivityThread.main(ActivityThread.java:5293)
        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)

我们可以根据报错,跳到报错的地方:

在这里插入图片描述

该报错的意思就是:没有 into(Landroid/widget/ImageView)的方法,代码能编译通过,说明项目中肯定是添加依赖了,那怎么还会报这个错误呢?还没添加依赖之前,项目中也是使用的Glide进行图片的加载,会不会是项目中的Glide与容联Demo中的Glide有冲突呢。

我们可以根据报错的地方into方法,点进入看源码:

在这里插入图片描述

可以看到容联Demo使用的Glide版本是3.7.0。

再来看看项目中Glide使用的版本:

在这里插入图片描述

可以看到项目中使用的Glide版本是4.5.0。

这时就想到真的很大概率是两者的Glide版本有冲突了。

果然将容联Demo中的Glide版本改成4.5.0之后,编译运行进入客服界面后,没有报错了,完美解决

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Android实现类似中奖信息自动滚动效果

    最近需要实现抽奖功能,就需要把中奖的信息,以垂直循环滚动的形式向用户进行展示,这篇主要是使用RecyclerView实现垂直滚动效果,九宫格抽奖功能会在后期写,...

    SoullessCoder
  • Android使用(TabLayout+ViewPager+fragment)与(FragmentTabHost+ViewPager+Fragment)实现底部状态栏切换

    Android开发过程中,特别是新开的项目,底部状态栏的切换使用的频率非常的高,主要的实现方式有: (1)、TabLayout + Fragment (2)...

    SoullessCoder
  • Android实现商城购物车功能

    最近公司项目做商城模块,需要实现购物车功能,主要实现了单选、全选,金额合计,商品删除,商品数量加减等能,先看看效果图:

    SoullessCoder
  • [异常特工]android常见bug跟踪

    前言 对app的线上bug的收集(友盟、云捕等)有时会得到这样的异常堆栈信息:没有一行代码是有关自身程序代码的。这使得对bug的解决无从下手,根据经验,内存不足...

    用户1172465
  • NoSuchMethodException: <init> [class android.content.Context, interface android.util.AttributeSet...

    NoSuchMethodException: <init> [class android.content.Context, interface android....

    凌川江雪
  • Binary XML file line #19: Attempt to invoke virtual method 'boolean java.lang.String.equals(java....

    APP中需要实现LayoutInflater布局加载器动态加载布局,然而开启程序一运行就闪退。。。

    凌川江雪
  • java.lang.SecurityException: Permission denied (missing INTERNET permission?)

    E/AndroidRuntime: FATAL EXCEPTION: Thread-4 Process: com.easy.kotlin, PID: 5384...

    一个会写诗的程序员
  • ReactNative报错记录以及原因分析 ReactNative报错记录

    如果在android studio启动的时候发现无法访问加载js脚本文件,注意用命令 adb shell input keyevent 82 调出手机调式菜单,...

    聚优云惠
  • Android 9.0 适配指南

    国内从去年开始就有消息说,应用上架或者更新要求TargetSdkVersion最低要为26以上,也就是最低也要适配到8.0。今年来也都逐步地开始落实。比如下图的...

    Rouse
  • Java开发环境系列:全文搜索引擎elasticsearch(ik分词器)

    安装中文分词插件,在elasticsearch-6.2.2\bin目录下执行以下命令: 

    架构师小跟班

扫码关注云+社区

领取腾讯云代金券