gradle3.0之后的版本相对于2.x依赖方式有所修改(括号内为2.x版本依赖方式):
implementation api(compile)
implementation:该依赖方式所依赖的库不会传递,只会在当前module中生效。
api:该依赖方式会传递所依赖的库,当其他module依赖了该module时,可以使用该module下使用api依赖的库,该依赖方式与2.x版本的compile完全相同。
compileOnly(provided)
只在编译时有效,不会参与打包,在moudle中可以使用该方式依赖一些常用的库,比如com.android.support,gson,避免冲突。
runtimeOnly(apk)
只在生成apk的时候参与打包,编译时不会参与,很少用。
testImplementation(testCompile)
只在单元测试代码的编译以及最终打包测试apk时有效。
debugImplementation(debugCompile)
只在debug模式的编译和最终的debug apk打包时有效。
releaseImplementation(releaseCompile)
只在release模式的编译和最终的release apk打包时有效。