在对接SDK的过程中,遇到的坑真的不少。这两天在解决一个比较烦恼的bug,用易接工具打包的时候,一直会报如下的错误,找了很多的途径去尝试解决,都会出现相同的错误。
期间仔细找过各种资料,可能是xml文件书写错误,导包错误,还可能是内存泄漏等问题,就是没想到是V7包的冲突问题,后来我仔细看了一下错误原因,有下面这一句。
Caused by: java.lang.NoSuchMethodError: No direct method <init>(Landroidview/View;)V in class Landroid/supportv7/widget/AppCompatBackgroundHelper; or its super classes (declaration of 'android.support.v7.widget.AppCompatBackgroundHelper' appears in /data/app/com.tianna.qmlw.x7sy-Fc4XVzGnuWbk_fUEHCGD5w==/base.apk).
翻译了一下就是我的xml 文件和易接那边的包里面都有v7包,而且冲突了,所以就联系了一下易接那边的技术人员。发现易接那边有如下的三个v7包。
比对了一下我这边的代码,删除了第三个v7包,再重新出包后,最终解决了这个问题。