首先在demo中是没有问题的,
然后集成到正式项目中就报了这个错,反复对比了好几次配置都一样的(有种情况是集成了但是不使用也会报错没找到类xxx)。
先Google
google发现该项目的issues里面也有很多人遇到这个问题。
https://github.com/HujiangTechnology/gradle_plugin_android_aspectjx/issues/101
https://github.com/HujiangTechnology/gradle_plugin_android_aspectjx/issues/147
https://github.com/HujiangTechnology/gradle_plugin_android_aspectjx/issues/184
https://github.com/HujiangTechnology/gradle_plugin_android_aspectjx/issues/205
以上回答主要是说
1.切入点写法出问题了(我的demo一模一样能运行,排除)
2.清除缓存,clean rebuild试了好几次也不行
我总觉得是jar包冲突了。
这位老哥说的排除jar包
aspectjx {
exclude 'com.google.firebase','com.google.android'
}
我试了下,确实可以运行了,但是安装后闪退提示找不到appsflyer的某个类。。。
卧槽,我又试着排除了appsflyer的包名,还是不行。
继续google,发现了这个issues
https://github.com/AppsFlyerSDK/AndroidSampleApp/issues/5
但是回复是说很久之前的版本就修复了,我试着更新了appsflyer到最新版本。
然后发现引入appsflyer的同时还引入了
com.android.installreferrer:installreferrer:1.0
我就把这个包名也排除了
aspectjx {
exclude 'com.google','com.appsflyer','com.android'
}
然后我发现文档上说的最新的引入方式变成了
classpath 'com.github.franticn:gradle_plugin_android_aspectjx:2.0.6'
它自己的demo以及我的引入方式都是
classpath 'com.hujiang.aspectjx:gradle-android-plugin-aspectjx:2.0.4'
抱着试一试的心态也改成一样的了
clean rebuild
运行正常,ok