java代码编译时修改行为_GitHub - niuzhihua/AST_demo: 利用JavaParser框架在编译时修改语法树(源码)的 demo...

本例子展示了如下功能:

1、删除方法中的 打印日志代码。

2、删除指定的 方法 和 成员变量。

3、检测方法中 是否有 new Thread 代码。

4、生成新的类和方法。并在运行时验证。

5、解析 类文件: MainActivity.java , 并在打印输出类信息。

6、修改类中的方法。 将结果保存在工程目录下的 /output 中。

7、在现有类 中生成一个方法 ,并在运行时验证。

环境:

gradle4.1

classpath 'com.android.tools.build:gradle:3.0.1'

1、删除类方法中的 日志 :

Log.xxxx

System.out.xxx

2、删除指定的的 方法 和 成员变量

//过滤如下 成员变量 和 方法

public void test()

public int test(int a)

String abc

String def

3、检测方法中 是否有 new Thread 代码

若检测到则在gradle 的build 控制台中输出:

警告: --代码中含有 new Thread--onResume()

警告: --代码中含有 new Thread--test(int a)

下面是利用javaparser 框架来造作代码的例子:

4、

一:利用javaparser 生成一个类,并包含一个静态方法。

二:利用javax.annotation.processing.Filer 文件工具 将代码写入到编译

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值