Annotation processors must be explicitly declared now. The following dependencies on the compile classpath are found to contain annotation processor. Please add them to the annotationProcessor configuration.
- router_compiler.jar (project :router_compiler)
Alternatively, set android.defaultConfig.javaCompileOptions.annotationProcessorOptions.includeCompileClasspath = true to continue with previous behavior. Note that this option is deprecated and will be removed in the future.
See https://developer.android.com/r/tools/annotation-processor-error-message.html for more details.
//今天app依赖一个新建的library(名字router_compiler),而library就导入下面两个依赖,编译就报上面错
//下面是两个依赖
//注解处理器
annotationProcessor 'com.google.auto.service:auto-service:1.0-rc4'
//自动生成service,省去了配置resources/META-INF/services,配合@AutoService(Processor.class)使用
compileOnly 'com.google.auto.service:auto-service:1.0-rc4'
//如果你使用正常依赖library,在APP的build里面是如下配置
implementation project(':router_compiler')
这时你编译就报上面错,
查资料很多都说在build里面
//添加如下配置就OK了
javaCompileOptions { annotationProcessorOptions { includeCompileClasspath = true } }
添加了报错依旧,
正确姿势
把implementation修改为annotationProcessor就可以了,
因为被依赖的library里面使用了annotationProcessor所有你依赖这个library就必须使用这种方式依赖。