android常犯错误记录(三)

本文详细解析了Android开发中遇到的RecyclerView异常问题,包括IndexOutOfBoundsException错误的根源及解决方案,以及多dex文件定义冲突的处理方法。同时,分享了Gradle依赖版本统一的重要性,并提供了具体的错误案例和解决步骤。

java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter positionViewHolder layout:android.support.v7.widget.LinearLayoutManager@c88e868

 

错误如上图,我表示不明觉厉,后来发现是因为初始化的时候没有去设置 setEmptyView ,可是我其它页面也都没有的,直接都是在回调里去设置的,但是这次就是没用,报的错也是666,后来试了很多次发现必须初始化先设置一下才行,猜测可能跟布局有点关系,我的recyclerview里面又嵌套了一个recyclerview

 

Multiple dex files define Landroid/support/xxx

这个包冲突都是support里的,比如 Multiple dex files define Landroid/support/v4/app/FragmentTabHost$DummyTabFactory 或者 Multiple dex files define Landroid/support/design/widget/CoordinatorLayout;

不管什么原因,只要在gradle里面都引用一下覆盖版本就行了,不然有你哭的时候,出错日志如下

解决方案: 把后面的版本号都统一,重新运行,ok

 

Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
> java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex

百度了一番,发现没有让我失望,没什么用,因为原因可能不只一个,具体不好定位,后来我没办法就把所有的依赖版本升了一下,从27.0.0到28.0.0了,然后我一个个试了一遍,确定是谷歌的依赖库版本低了,估计你添加的依赖库里面的一些sdk和tools版本调成了28,

所以以前的低版本没法成功报错,如果你百度了很多办法都不行,不妨试试我这个,下面是我依赖过的库

 

Error:Execution failed for task ':app:compileRetrolambdaDebug'. > Could not resolve all files for configuration ':app:retrolambdaConfig'.    > Could not download retrolambda.jar (net.orfjackal.retrolambda:retrolambda:2.3.0)

这个错误对应三步,第一步是把依赖版本更新到 classpath 'me.tatarka:gradle-retrolambda:3.2.5'

         第二步是在 dependencies 下面添加 retrolambdaConfig 'net.orfjackal.retrolambda:retrolambda:2.3.0' 

         第三步就是jdk1.8了

 

转载于:https://www.cnblogs.com/LiuZhen/p/9933807.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值