android常见错误记录--持续更新中

1-Glide版本兼容问题

报错日志:
java.lang.NoSuchMethodError: No virtual method centerCrop()Lcom/bumptech/glide/request/RequestOptions; in class Lcom/bumptech/glide/request/RequestOptions;

报错原因:
Glide版本兼容问题,老的版本类RequestOptions没有centerCrop方法

解决:
更新版本

2-rxjava.properties文件重复

报错日志:
More than one file was found with OS independent path 'META-INF/rxjava.properties

解决:
在app下的build.gradle里面的defaultConfig里面添加:
defaultConfig {
packagingOptions {
exclude ‘META-INF/rxjava.properties’
}
}

3-android 10 访问文件

报错日志:
java.io.FileNotFoundException: open failed: EACCES (Permission denied)

解决:
请移步google文档
https://developer.android.com/training/data-storage/files/external-scoped#java

4-依赖库最小版本问题

报错日志:
Manifest merger failed : uses-sdk:minSdkVersion 11 cannot be smaller than version 14 declared in library

解决:
报错原因是moudle app gradle的minSdkVersion 比依赖库的低,修改minSdkVersion大于依赖库的minSdkVersion

5-classpath 'com.android.tools.build:gradle:'版本问题

报错日志:
Dex file with version ‘39’ cannot be used with min sdk level ‘25’.

解决:
classpath 'com.android.tools.build:gradle 适配版本

6-Dialog显示报错

报错日志:
android.view.WindowManager$BadTokenException:Unable to add window-token android.os.BinderProxy ;is your activity running?

报错原因:
例如:异步操作中,Activity已经退出,但是异步线程还没有执行完毕,如果此时异步线程通知主线程显示Dialog,将发生Dialog找不到可以依赖的Activity报错

解决:
Dialog在调用show或dismiss的时候,判断dialog所依赖的activity是否被销毁,否则将有可能发生这样的问题

7-java.lang.ClassCastException

报错原因:
该异常表示类型转换异常,通常是因为一个类对象转换为其他不兼容类对象抛出的异常

解决:
一般在强制类型转换时出现,例如如果A向B转换,而A不是B的父类时,将产生java.lang.ClassCastException异常。一般建议做这时要使用instanceof做一下类型判断,再做转换

常见场景:
android布局,ViewA的父布局是FrameLayout,这个时候如果在代码中给ViewA设置LayoutParams的类型不是FrameLayout会报错

如果有幸帮到你,请动动小手支持一下!

你可能感兴趣的:(Android,报错查找)