Seeker
Seeker copied to clipboard
:hammer: A plugin can change method modifier with Hide annotation and build jar and aar automatically
Seeker
:hammer: A plugin can change method modifier with Hide annotation and build jar and aar automatically. 一个可以改变字节码中方法的modifier为指定的值的gradle插件,并自动打包出jar/aar
Feature
- [X] hook java 字节码
- [X] 变为 private 的方法,使用反射缓存代理类调用方法
- [X] 插件多种属性可支持配置
- [X] 改变方法的 modifier
TODO
- [ ] hook java 源代码
- [ ] @Hide 支持类
- [ ] @Hide 支持成员变量
Versions
lib | version |
---|---|
seeker | |
seeker-plugin | |
seeker-annotation | |
seeker-processor | |
Usage example
给你的方法添加 @Hide 注解
public class Mock{
@Hide(Modifier.PROTECTED)
public void mock(){
}
}
运行
./gradlew :xxx:uploadArchives
命令,查看输出的jar/aar
。
Configuration
project root
build.gradle
中添加seeker-plugin
的依赖
buildscript {
//...
repositories {
jcenter()
maven { url 'https://jitpack.io' }
}
dependencies {
classpath "com.yeoh.seeker:seeker-plugin:${version}"
}
}
在 library 的
build.gradle
中添加依赖
apply plugin: 'seeker-plugin'
// ...
dependencies {
implementation "com.yeoh.seeker:seeker:${version}"
implementation "com.yeoh.seeker:seeker-annotation:${version}"
annotationProcessor "com.yeoh.seeker:seeker-processor:${version}"
}