APT、annotationProcessor、android-apt、Provided、自定义注解

Android注解处理器详解
本文详细介绍了Android开发中使用注解处理器的方法,包括如何组织项目结构以实现代码生成,并探讨了如何通过参数传递来定制编译过程。

一、在android中写注解一般分两个module,一个是专门存放的注解类比如叫apt-lib,一个是注解解释类比如叫apt-process,后一个依赖前一个。 apt-lib提供api要打入apk的,apt-process只参与编译。
apt-process中的build.gradle

compile project(':apt-lib')

app中的build.gradle

  compile project(":apt-lib")
  annotationProcessor project(':apt-process')

具体可以参考github上的butterknife和ActivityRouter开源项目。

二、通过arguments设置给编译处理器的参数
深入理解编译注解(二)annotationProcessor与android-apt

annotationProcessor传参

defaultConfig {
    javaCompileOptions {
        annotationProcessorOptions {
            arguments = [ moduleName : project.getName() ]
        }
    }
}

apt传参

apt{
    arguments{
        module "app"
    }
}

接受参数方式一样
Map<String, String> options = processingEnvironment.getOptions();
Set<Map.Entry<String, String>> entries = options.entrySet();
for (Map.Entry<String, String> entry : entries) {
    ss = entry.getValue() + ss;
    messager.printMessage(Diagnostic.Kind.NOTE, entry.getKey() + "----" + entry.getValue());
}



参考文章:
1. 你必须知道的APT、annotationProcessor、android-apt、Provided、自定义注解

转载于:https://my.oschina.net/bruces/blog/1456609

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值