正常运行的时候抛出异常:
java.lang.NoClassDefFoundError:Failed resolution of :Lcom.alipay.sdk.app.PayTask
或者
java.lang.NoClassDefFoundError:Failed resolution of :Lcom.alipay.sdk.app.AuthTask

从异常堆栈很明显可以知道,是因为找不到PayTask这个类。
但是这个类就是存在的,为什么会找不到呢?后来经过各种排查,发现是因为项目使用了aspectjx这个库导致的,是一个AOP框架,aspectj会处理所有的二进制代码文件和库
解决办法在app目录下的build.gradle文件中 android{} 外面中写如下代码:
aspectjx {
//排除所有package路径中包含`android.support`的class文件及库(jar文件)
exclude 'com/alipay'
}
如果不起作用就改成下面这样
aspectjx {
//排除所有package路径中包含`android.support`的class文件及库(jar文件)
exclude 'com.alipay'
}
大功告成!
本文详细介绍了在使用AspectJ框架时遇到的与支付宝SDK兼容性问题,具体表现为找不到必要的PayTask类。通过调整Gradle配置,排除特定包路径,成功解决了此问题。
6330

被折叠的 条评论
为什么被折叠?



