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.95k stars 570 forks source link

/build/intermediates/ajx/debug/aspecs生成相应文件,但切面不生效 #255

Open junyao-yu opened 4 years ago

junyao-yu commented 4 years ago

您好,我的相关配置是这样的,但切面不生效 dependencies { classpath 'com.android.tools.build:gradle:3.3.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files classpath 'com.hujiang.aspectjx:gradle-android-plugin-aspectjx:2.0.8' //huawei classpath 'com.huawei.agconnect:agcp:1.0.0.300'

}

build.gradle文件中 aspectjx { exclude 'com.xxx.app' include 'com.xxx.provider' } implementation 'org.aspectj:aspectjrt:1.9.5'

xiachengcheng commented 4 years ago

请问这个问题解决了吗? 我遇到类似问题,在去掉

aspectjx {
exclude 'xxx'
include 'xxx'
}

后能够起效。 原本想通过exclude不去为特定包做hook;现在改为在pointcut中指定特定类下的某个方法。

junyao-yu commented 4 years ago

请问这个问题解决了吗? 我遇到类似问题,在去掉

aspectjx {
exclude 'xxx'
include 'xxx'
}

后能够起效。 原本想通过exclude不去为特定包做hook;现在改为在pointcut中指定特定类下的某个方法。

如果我这边去掉aspectjx {}的话会报错

xiachengcheng commented 4 years ago

请问这个问题解决了吗? 我遇到类似问题,在去掉

aspectjx {
exclude 'xxx'
include 'xxx'
}

后能够起效。 原本想通过exclude不去为特定包做hook;现在改为在pointcut中指定特定类下的某个方法。

如果我这边去掉aspectjx {}的话会报错

我的问题算是“解决了”。因为我在对应的pointcut里面指名了对应的类的路径。 你这里报错,是提示的什么错误吗?

junyao-yu commented 4 years ago

请问这个问题解决了吗? 我遇到类似问题,在去掉

aspectjx {
exclude 'xxx'
include 'xxx'
}

后能够起效。 原本想通过exclude不去为特定包做hook;现在改为在pointcut中指定特定类下的某个方法。

如果我这边去掉aspectjx {}的话会报错

我的问题算是“解决了”。因为我在对应的pointcut里面指名了对应的类的路径。 你这里报错,是提示的什么错误吗?

提示类文件找不到,所以用了exclude,有空再看看。谢谢。

xiachengcheng commented 4 years ago

请问这个问题解决了吗? 我遇到类似问题,在去掉

aspectjx {
exclude 'xxx'
include 'xxx'
}

后能够起效。 原本想通过exclude不去为特定包做hook;现在改为在pointcut中指定特定类下的某个方法。

如果我这边去掉aspectjx {}的话会报错

我的问题算是“解决了”。因为我在对应的pointcut里面指名了对应的类的路径。 你这里报错,是提示的什么错误吗?

提示类文件找不到,所以用了exclude,有空再看看。谢谢。

Hi你好,请问你的问题解决了吗。我目前引入其他库以后,也出现相同问题。 我通过 aspectJ { exclude 'com.alibaba' } 排除了包,build成功后,检查ajx路径,发现也生成了对应的文件。 但是通过log信息发现生成的切面没有生效。