1.新建一个Java Library 的module(文中示例为extent)
2.修改module gradle文件
apply plugin: 'java-library'
apply plugin: 'kotlin'
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation rootProject.ext.dependencies['kotlin-stdlib-jdk7']
}
sourceCompatibility = "1.8"
targetCompatibility = "1.8"
其中,因为是基于kotlin实现,别忘了“apply plugin 'kotlin',还有就是需要设置编码兼容性,这里设置为1.8。
2.新建annotation和自定义AbstractProcessor文件
(module结构)
其中ActivityAnnotation文件如下
package com.dingo.extent
@Target(AnnotationTarget.FIELD)
@Retention(AnnotationRetention.RUNTIME)
annotation class ActivityAnnotation(val layoutResId: String)
ExtentActivityProcessor文件如下,这里我只是简单的实现,其实可以根据需求有很大的发挥空间。
其中推荐'com.squareup:javapoet:1.9.0'