Gradle 依赖方式与差异

  • implementation和api
    implementation和api是取代之前的compile的,
    差异案例: A依赖B,B依赖C,在A中是访问C中的方法
    implementation 不可以 (依赖的库只能自己库本身访问)
    api 可以

dependencies {
implementation project(":lib")
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation files('libs/A.jar')
}

  • compileOnly、 provided
    只在编译的时候有效, 不参与打包
  • runtimeOnly、apk
    只在打包的时候有效,编译不参与
  • testImplementation、testCompile
    只参与单元测试编译,不会打包到debug/release apk包中,不需要设备支持
  • androidTestImplementation、androidTestCompile
    只参与UI测试编译,不会打包到debug/release apk包中,需要设备支持。
  • debugImplementation、debugCompile
    只参与debug编译,只会打包到debug apk中
  • releaseImplementation、releaseCompile
    只参与release编译,只会打包到release apk中。

https://developer.android.com/studio/build/dependencies?utm_source=android-studio#dependency_configurations

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容