赞
踩
正常运行的时候抛出异常:
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'
- }
大功告成!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。