Bad method handle type 7异常解决

简介: 在利用androidx版本写demo时,在添加了一些依赖后,遇到了`java.lang.ClassNotFoundException`bug,这就很奇怪了,我就添加rxjava3的依赖,就给我报这个错误。

在利用androidx版本写demo时,在添加了一些依赖后,遇到了java.lang.ClassNotFoundExceptionbug,这就很奇怪了,我就添加rxjava3的依赖,就给我报这个错误。

添加的依赖如下:

implementation 'io.reactivex.rxjava3:rxjava:3.0.0'
AI 代码解读

具体报错如下:

在这里插入图片描述

第一反应是先看Error部分的提示,这里提示找不到dex文件中找不到自定义的Application类,所以优先排查mutildex相关问题。查了半天毫无头绪,我的配置也没问题。

只能扩大排查范围,看下logcat中崩溃处的其他异常信息,上图中的黄色部分的Warning信息:

W/zygote64: Failure to verify dex file '/data/app/com.xxx.app-wr25p09u-u7SF8Gc1TW8qg==/base.apk': Bad method handle type 7
W/ResourceType: No package identifier when getting name for resource number 0x00000000
AI 代码解读

根据Bad method handle type 7这个信息进行排查,找到了解决方式。具体如下:

在app/build.gradle文件的android闭包内,添加如下代码:

compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
AI 代码解读

sync运行一气呵成,奈斯。

这个错误出现的原因是,我引入的rxjava3用到了java8的特性,需要手动配置下。

参考

Failed to verify dex: Bad method handle type 7

目录
打赏
0
0
0
0
463
分享
相关文章
Ceph Reef(18.2.X)之对象访问策略配置
这篇文章讲述了对象存储的多种访问方式,包括HTTP、S3cmd、Swift和Python程序访问,并介绍了如何定制存储桶的访问策略和跨域规则。
134 8
Ceph Reef(18.2.X)之对象访问策略配置
Android系统 adb shell auth授权使用
Android系统 adb shell auth授权使用
782 2
RabbitMQ: /var/lib/rabbitmq/.erlang.cookie must be accessible by owner only
RabbitMQ: /var/lib/rabbitmq/.erlang.cookie must be accessible by owner only
1964 0
RabbitMQ: /var/lib/rabbitmq/.erlang.cookie must be accessible by owner only
Android11.0 V-A/B无缝OTA升级update_engine
Android11.0 V-A/B无缝OTA升级update_engine
5431 0
让Android自动化辅助APP成为设备所有者(一)
我们之所以需要将Android自动化测试的辅助APP设置成设备所有者是为了更好的控制系统的一些行为从而让整个测试过程更稳定。
880 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等