Gradle配置dependencies

 dependencies {
        compile fileTree(dir: 'libs', includes: ['*.jar'])
        compile project(':honjane-demo-library')
        betaCompile 'com.squareup.leakcanary:leakcanary-android:1.3.1'
        betaCompile 'com.github.moduth:blockcanary-ui:1.1.4'
        apt 'com.jakewharton:butterknife-compiler:8.1.1'
    }

依赖规则
例如 betaCompile ‘com.github.moduth:blockcanary-ui:1.1.4’

 betaCompile  group: 'com.github.moduth', name: 'blockcanary-ui', version: '1.1.4'  

依赖方式有如下几种
Gradle配置dependencies_第1张图片

Compile
compile是对所有的build type以及favlors都会参与编译并且打包到最终的apk文件中。

Provided
Provided是对所有的build type以及favlors只在编译时使用,类似eclipse中的external-libs,只参与编译,不打包到最终apk。

APK
只会打包到apk文件中,而不参与编译,所以不能再代码中直接调用jar中的类或方法,否则在编译时会报错

下面3种与buildTypes对应的几种依赖

Test compile
Test compile 仅仅是针对单元测试代码的编译编译以及最终打包测试apk时有效,而对正常的debug或者release apk包不起作用。

Debug compile
Debug compile 仅仅针对debug模式的编译和最终的debug apk打包。

Release compile
Release compile 仅仅针对Release 模式的编译和最终的Release apk打包。

依赖本地文件:
compile fileTree

   compile fileTree(dir: 'libs', include: '*.jar')
   provided fileTree(dir: '../honjane-demo-library/libs', include: '*.jar')
   compile(name: 'lib-1.1', ext: 'aar')//依赖并执行本地aar包

依赖远程文件:

  compile "com.jakewharton:butterknife:8.2.1"
  provided 'com.android.support:support-annotations:23.2.1'

依赖库工程(多module):

  compile project(':honjane-demo-library')

你可能感兴趣的:(tools)