android常犯错误记录(二)

检查 minSdkVersion什么的是不是和你依赖的包一样,它上面也有个小提示,显示本地的11,依赖的为15,那就改成15好了,重新build好了

 ClassNotFoundException异常

 

Failed to resolve:xxx错误

一开始报 already disposed module: XXX的错误,然后刷新一下,后面的xxx就变一下,反正就是already disposed module,然后百度,在设置里点击 invalidate caches/restart ,restart一下,接着就 failed to resolve:xxx了,这下就清楚了

如图,把第一行加上就ok了

 Gradle sync failed: Unable to delete old javaCompile action  这个错误是可能是你的 retrolambda版本不对,调整你的版本,我是这么解决的

NoSuchFieldError no static field x of type i in class lcom/app r$id or its superclasses,错误如下图

 

原因就是新加了一个自定义控件照成的,一开始还以为是报名资源命名什么起冲突了,然后发现不是,后来引用的自定义控件的xml文件中的最外层布局上面添加,还是不行,然后发现主工程还有一个一样的布局,坑爹了,删了就好了

今天又被吭了一把,真想骂娘的,我想用过android studio的人肯定都已经骂过了,太吭了,吭逼

错误:Gradle DSL method not found compile()

 还是想吐槽一下,报了这么多错,还带三个错误链接,有什么叼用?垃圾,气死我了,吐槽完了,骂完了,负能量没了就好好百度一下了

发现一篇博客,参考后解决了,也是奇葩

参考地址:http://blog.csdn.net/songtao542/article/details/51469870

也是感谢这位大兄弟,这么奇葩的问题也能找到,解决方法就是 dependencies { }中的所有 compile 语句必须换行书写,不可以两个 compile 语句在一行里

本来我的是换行的,导包的时候自动给我缩进了,也不知道怎么就缩进了,感觉也没什么,所以没去管,没想到问题就出现在这里

FileNotFoundException EISDIR Failed to ensure directory cache

如图为报错代码和日志,造成的原因是 RandomAccessFile 对文件操作,而因为移植问题之前的参数为空,导致创建的文件是空字符串文件,无法创建,所以直接操作文件夹了,导致报错,除此之外还有个需要注意的

地址用url对象

DexArchiveMergerException

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

这个异常好像我碰到两次了,不过还是搞了我一会,几下笔记,我的gradle是3.1编译的,合并失败,一开始以为方法超限了,后来想想不可能,因为代码量不是很大,然后就想到引用了第三方的 lib 后出现的,然后开始找什么原因,因为我的引用版本一般都是统一的,

所以一般不会出现合并失败的错误,都是27.0.0

然后我就发现不对的地方了,我的一个gradle版本不是一样的

所以,把 .+改成一样的,这样就不会出现合并失败的错误了,改成一样的版本立马运行成功了,有的时候或许你引用了gradle库起冲突,这个时候可以排除,先把这个引用注释一下运行看看是否还是会冲突,如果没有冲突了表面就是这个gradle存在冲突,那么只能去

下载这个引用的源码了,把源码的版本改成一样的,直接导入到项目中

Error:Unable to load class 'org.gradle.api.internal.component.Usage

 

就是把下面的版本号修改成0.5.0

resource drawable style aka not found

这个错误很是奇葩遇到到时候,因为这个 资源文件和属性都是存在的,而且文件反复检查没有丝毫问题,这个也是以前就好的,查看log历史版本,都没有动过,看着android studio这个错误提示真是让我很蛋疼

后来我重命名,删了在建,重启,clear,都没效果,后来我把所有gradle版本都换了一个版本编译,结果真正的错误来了,这才来正主,我真是醉了,然后就是很简单的解决了

notFoundException Resource ID #oxfffffe6c

这个是适配器里面 BaseMultiItemQuickAdapter 少写了一个type导致的,坚持你的数据源,看下type少了哪个

android.app.RemoteServiceException: Bad notification for startForeground: java.lang.RuntimeException: invalid channel for service notification: Notification(channel=null pri=0 contentView=null vibrate=null sound=null defaults=0x0 flags=0x40 color=0x00000000 vis=PRIVATE)

startForeground 8.1系统操作的时候报错,然后添加了处理后是这样的

我以为可以了,没想到还是太年轻了,我看着很多方案都是这样处理的,没毛病,结果还是差了一招半式,name不能为 “”,涨知识了,一口老血就噗了出来,难怪很多人说解决方案如下,别问我为什么



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