- 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中。