常见错误,记录下

来源:互联网 发布:小米5刷机端口被关闭 编辑:程序博客网 时间:2024/06/05 18:55

duplicatefileexception  文件重复异常,会给出两个文件,File1: File2:这个两个文件所在的文件夹里出现相同的包或类,

解决方案:删除其中一个就好,一般出现在引用外部libs过多时会出现


DexException 而且会出现**value = 0,或1,2此时一般是libs重复异常,两个libs同时拥有某个文件,

解决方案:删除其中的一个用处不大的包,但有时确实有用不能删,就将重复的文件重命名


IllegalArgumentException此异常表明向方法传递了一个不合法或不正确的参数。

错误原因:url没有加“http://”


android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.

非主线程不能对ui进行操作

错误原因:okhttp的responsed方法返回并不是在主线程,

解决方法:用handler把值返回给主线程再操作ui。


Error:(1, 1) 错误: 非法字符: '\ufeff'
Error:(1, 10) 错误: 需要class, interface或enum

将eclipse里会智能的把UTF-8+BOM文件转为普通的UTF-8文件,studio不会,所以将eclipse里的文件导到studio中后,会报这个错

解决方案:将文件重新保存为UTF-8的文件(ps:我的方法是将java文件用EditPlus打开-另存为-改变编码方式为UTF-8-保存)


IOException,直接输入或输出流为空指针

错误原因:1,文件路径不对,或不存在;2,没有给外部储存的写入权限


java.lang.IllegalStateException: The specified child already has a parent. You must call removeView

这个错误提示,一个子控件不能添加到两个父控件中去,即是父控件是同一个,这个错误一般出现在viewPager这类动态添加的容器型控件中,网上找到的方法是在addView()的时候,先removeView(),但我的错误不同,我用的是tabLayout作为父控件,所有类都是封装好的,经排查,错误原因在于,往其viewPager里添加fragment的时候,用了inflate(R.layout.fragment, container,true),本来系统会自动添加一个父布局,我在这里又手动添加了一个父布局,结果报错。

解决方法,用inflate(R.layout.fragment, container,false)或inflate(R.layout.fragment, null);


java.lang.IllegalArgumentException: No config chosen

在百度地图时出现这个错误,原因:百度的开发文档太老了

解决方案:将MapView控件换成TextureMapView


butterknife的onclick事件无响应,原因:没有加apt

解决方法:1,在projeci的gradul中加入classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'

2,在app的gradul中加入apply plugin: 'com.neenbedankt.android-apt'  ,dependces中加入apt 'com.jakewharton:butterknife-compiler:8.0.1'

3,注意apt要和导入的butterknife要是同一个版本,如都是8.0.1

0 0