Gradle简单小结

268 阅读1分钟

当前开发会用到gradle构建,在对日常遇到的一些问题的排查时,感受到gradle的依赖、依赖查找顺序对于问题排查很有帮助,因此简单总结一下。

依赖

gradle的依赖查找顺序:

  • gradle本地仓库一般为~/.gradle/caches/modules-2/files-2.1
  • 如果在build.gradle的repositories配置mavenCentral(),则会去maven的本地仓库查找~/.m2/settings.xml
  • 按照build.gradle的repositories设置的列表依次下载,并将下载的构件存储到gradle本地仓库

gradle的依赖类型分为:仓库依赖、文件依赖、项目依赖

仓库依赖示例如下

compile 'com.example.android:app-magic:12.3'
compile group: 'com.example.android', name: 'app-magic', version: '12.3'

文件依赖示例如下:

//添加libs文件夹下所有jar包作为依赖
compile fileTree(dir: 'libs', include: ['*.jar'])
//指定jar包作为依赖
compile files('libs/foo.jar', 'libs/bar.jar')

项目依赖示例如下:

compile project(':mylibrary')

仓库

仓库可以直接使用远程仓库

allprojects {
    repositories {
        jcenter()
    }
}

使用maven仓库

allprojects {
    repositories {
        jcenter()
        mavenCentral()
        mavenLocal()
        maven {
            url "https://repo.example.com/maven2"
        }
        maven {
            url "file://local/repo/"
        }
        ivy {
            url "https://repo.example.com/ivy"
        }
    }
}