Gradle中的api,implementation,kapt annotationProcessor的使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Gradle中的api,implementation,kapt annotationProcessor的使用相关的知识,希望对你有一定的参考价值。
参考技术Acompile(旧) == api (新) : 使用这个关键字引入的包对与其他module 来说时=是可见的
使用这个关键字implementation 引入的包对与其他module 来说是不可见的
apt(旧) == annotationProcessor: 用来引入注解包。在android Studio 3.0 开始 使用annotationProcessor 代替 apt
在kotlin 项目中不使用 annotationProcessor 来引入注解包, 而是使用 kapt
使用之前要 添加 plugin
api 和 implementaion主要是解决多个module依赖时的重复编译问题。
app -> lib1 -> lib2 即app依赖于lib1,而lib1 则依赖于lib2.
使用 api lib2
那么如果lib2有了改变,则会导致app的重新编译,也就是引入的包对 app 来说是可见
使用 implementation lib2
那么lib2的改变只会影响到lIb1,而不会再影响到app的编译,也就是引入的包对 app 来说是不可见
使用场景:
比如自定义了一个module名字叫做mylibrary, 引入了retrofit2, 如果希望主app 也可以使用mylibrary中引入的retrofit2,可以在mylibrary的build.gradle中是 使用 api 修饰引入的retrofit2 。
如果希望主app 不希望知道mylibrary中引入了retrofit2,可以在mylibrary的build.gradle中是 使用 implementation修饰引入的retrofit2 。
以上是关于Gradle中的api,implementation,kapt annotationProcessor的使用的主要内容,如果未能解决你的问题,请参考以下文章
未解决的参考:viewModelScope - Kotlin Android
Gradle中的api,implementation,kapt annotationProcessor的使用
编写 Gradle 插件时的 Gradle Api Sources 和 Doc