gradle_plugin_android_aspectjx icon indicating copy to clipboard operation
gradle_plugin_android_aspectjx copied to clipboard

[Error] 编译正常,AOP拦截在部分情况下不生效

Open houzixiashanxiedaima opened this issue 2 years ago • 1 comments

请提供构建环境相关信息:

  • 当前使用的插件版本:2.0.14
  • AGP(Android Gradle Plugin)版本:4.2.2
  • Gradle版本:6.9.2

onClick的AOP拦截在一些情况下不生效

使用方式:

 @Pointcut("execution(* android.view.View.OnClickListener.onClick(..))")
    fun onClickPointcut() {
    }

 @Throws(Throwable::class)
    @Around("onClickPointcut()")
    fun onClick(joinPoint: ProceedingJoinPoint) {
        val view = joinPoint.args[0] as View
}

生效情况1:

 btn.setOnClickListener(object :OnClickListener{
                override fun onClick(v: View?) {
                    
                }
            })

生效情况2:

 Activity 实现onClick接口
 btn.setOnClickListener(this)

不生效的情况:

 btn.setOnClickListener{
}

houzixiashanxiedaima avatar Mar 03 '23 05:03 houzixiashanxiedaima

#43

wurensen avatar Mar 03 '23 06:03 wurensen