HujiangTechnology / gradle_plugin_android_aspectjx

A Android gradle plugin that effects AspectJ on Android project and can hook methods in Kotlin, aar and jar file.
Apache License 2.0
3.93k stars 568 forks source link

aar中的@Aspect无法被识别 #303

Open wingkingbobo opened 3 years ago

wingkingbobo commented 3 years ago

module中@Aspect注解的切面能正确生成。 将module生成aar提交到maven仓库,然后在另一个项目中使用,项目代码中另外写的切面能正确识别, 但是通过 implementatino 'com.xxx:xxx:1.0.0'引用的aar中的切面无法识别, /build/intermediates/ajx/debug/aspecs和通过反编译查看都没有生成代码

wingkingbobo commented 3 years ago

module中@aspect注解的切面能正确生成。 将module生成aar提交到maven仓库,然后在另一个项目中使用,项目代码中另外写的切面能正确识别, 但是通过 implementatino 'com.xxx:xxx:1.0.0'引用的aar中的切面无法识别, /build/intermediates/ajx/debug/aspecs和通过反编译查看都没有生成代码

版本是'classpath 'com.hujiang.aspectjx:gradle-android-plugin-aspectjx:2.0.8'

zgmd commented 3 years ago

你可以尝试一下,把implementatino 'com.xxx:xxx:1.0.0' 改为对应aar 解压后使用jar 包,放入libs 再次打出给其他工程的aar

BlackChenXin commented 3 years ago

楼主问题解决了吗,我现在也遇到这个问题了

SimpleGentleman commented 2 years ago

module中@aspect注解的切面能正确生成。 将module生成aar提交到maven仓库,然后在另一个项目中使用,项目代码中另外写的切面能正确识别, 但是通过 implementatino 'com.xxx:xxx:1.0.0'引用的aar中的切面无法识别, /build/intermediates/ajx/debug/aspecs和通过反编译查看都没有生成代码

版本是'classpath 'com.hujiang.aspectjx:gradle-android-plugin-aspectjx:2.0.8'

我也一样的情况。但是我在maven的形式依赖时,我是debug版本可以正常编入识别;release版本识别不了。 一开始我怀疑是混淆区别,但是加了混淆配置,发现还是一样不行。
目前不知道啥原因了,估计是这个gradle插件的问题。 不支持远程maven的形式,只能源码依赖才行。

楼主,最后你有处理解决这个问题嘛?

wingkingbobo commented 2 years ago

没处理,我项目中用AspectJ的地方少