android常犯错误记录(三)

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了

undefined reference to '__android_log_print'

很多人碰到过这个异常,但是大部分资料可能是说Android.mk,而不是CMakeList,明明已经定义了宏,而且也在 target_link_libraries 中添加过,但是就是不行,排除语法错误,有的人说是配置gradle  ldLibs "log",但是不管用,还有其它的方案,但是初学者也看不懂,有的文章可能说到了点子上,但是不友好,比如说创建多个对应的CMakeList配置文件,一一对应,其实有点眉目了,但是这显然不是友好的解决方案,其实到这里就很清晰了,CMakeList配置文件没加进去,有的人说我添加了啊,其实没有

如下图,错误的添加

 正确的是一个个添加,在此运行,问题解决

c++ fatal signal 11

如图,此异常是给申请的二级指针没分配内存地址,然后就 free 释放造成的,一般释放在最下面操作,所以有时候容易被忽略

原文地址:https://www.cnblogs.com/LiuZhen/p/9933807.html