Android强制类型转换报错,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会报错

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值