JAOP Gradle 插件使用教程

JAOP Gradle 插件使用教程

jaop jaop is a gradle plugin base on javassist&asm for android aop jaop 项目地址: https://gitcode.com/gh_mirrors/ja/jaop

1. 项目目录结构及介绍

jaop/
├── domain/
│   └── ...
├── gradle-plugin/
│   └── ...
├── sample/
│   └── ...
├── .gitignore
├── LICENSE
└── README.md
  • domain/:包含项目的核心逻辑和业务代码。
  • gradle-plugin/:包含Gradle插件的实现代码。
  • sample/:包含示例代码,展示如何使用JAOP插件。
  • .gitignore:Git忽略文件,指定哪些文件或目录不需要被Git管理。
  • LICENSE:项目许可证文件,本项目使用Apache-2.0许可证。
  • README.md:项目说明文件,包含项目的概述、使用方法等信息。

2. 项目的启动文件介绍

JAOP项目没有传统意义上的“启动文件”,因为它是一个Gradle插件,主要通过Gradle构建脚本来启动和配置。以下是主要的启动和配置步骤:

2.1 在build.gradle中应用插件

在项目的build.gradle文件中,添加以下配置以应用JAOP插件:

repositories {
    jcenter()
}

dependencies {
    classpath 'com.android.tools.build:gradle:1.5.0' // 需要1.5及以上的plugin
    classpath 'jaop.gradle.plugin:gradle-plugin:1.0.4'
}

apply plugin: 'jaop'

2.2 配置插件

在代码中使用@Jaop注解来配置插件的行为。例如:

@Jaop // 配置文件的开关
public class JaopDemo {
    @After("demo.jaop.sample.MainActivity.onCreate") // hook 掉onCreate 方法的方法体
    public void replace1(MethodBodyHook hook) {
        Button button = (Button) ((Activity) hook.getTarget()).findViewById(R.id.button);
        button.setText("text replace by jaop");
    }

    @Replace("android.widget.Toast.makeText") // hook Toast makeText 方法的调用处 替换toast的文本
    public void replace2(MethodCallHook hook) {
        Object[] args = hook.getArgs();
        hook.setResult(Toast.makeText((Context)args[0], "hook toast", Toast.LENGTH_LONG)); // 设置返回值
    }
}

3. 项目的配置文件介绍

3.1 build.gradle

build.gradle文件是Gradle构建脚本的核心配置文件,用于配置项目的依赖、插件、任务等。在JAOP项目中,build.gradle文件主要用于配置插件的依赖和应用插件。

3.2 settings.gradle

settings.gradle文件用于配置项目的模块和子项目。对于JAOP项目,通常不需要特别配置,除非项目包含多个模块。

3.3 gradle.properties

gradle.properties文件用于配置Gradle构建的属性,例如JVM参数、构建缓存路径等。对于JAOP项目,通常不需要特别配置。

3.4 local.properties

local.properties文件用于配置本地环境相关的属性,例如Android SDK路径。对于JAOP项目,通常不需要特别配置。

通过以上配置,您可以成功应用JAOP插件并进行AOP编程。

jaop jaop is a gradle plugin base on javassist&asm for android aop jaop 项目地址: https://gitcode.com/gh_mirrors/ja/jaop

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

劳治亮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值