gradle 注解处理框架 为什么需要每个地方再次声明?

我有一个module 名为core,在其中我已经声明了依赖一个注解处理框架arouter

代码如下

    kapt 'com.alibaba:arouter-compiler:1.1.4'

同时我有很多其他的module1、2、3、4...,它们都依赖于core,代码如下.

    //...
    implementation project(":core")

这些module1、2、3、4...它们都需要依赖注解处理框架arouter,所以我同时又需要在对应module下声明,

    //...
    implementation project(":core")
    kapt 'com.alibaba:arouter-compiler:1.1.4'

这样就显得很糟糕。有声明办法可以不需要再次在module声明呢?

我尝试将implementation 换成api 如下

    //...
    api project(":core")
    //kapt 'com.alibaba:arouter-compiler:1.1.4'

但是没有效果。

kapt必须在对应的build.gradle中声明吗?如果是,为什么呢?

阅读 1.5k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题