Gradle中各种引用的区别

464 阅读1分钟

你可能经常在build.gradle文件中看到,这样的字眼,annotationProcessor、android-apt、Provided,它们到底有什么作用?

  1. compile(旧)== api(新)

     api关键字引入的包对于其他Module来说是可见的
    
  2. implementation

     implementation关键字引入的包对于其他Module来说是不可见的
    
  3. apt(旧)===annotationProcessor(新)

     用于引入注解包
     从Android Studio 3.0开始,使用annotationProcessor代替apt。不可再使用apt,否则会编译报错。
     在gradle中取消对apt插件的引用,在本module中依赖改为annotationProcessor即可
    
  4. kapt

     Kotlin中不使用annotationProcessor,而是使用kapt,其使用方式为:
    
     apply plugin: 'kotlin-kapt'
     dependencies {
     	kapt "com.alibaba:arouter-compiler:1.2.2"
     }
    

5、过滤相同的maven库

implementation ("com.github.bumptech.glide:glide:4.13.0"){
    exclude group: 'com.tencent', module: 'mmkv'
    exclude group: 'com.tencent', module: 'mmkv-static'
    exclude group: 'android.car', module: 'release'
}