应用程序的android build.gradle文件-默认存储库是什么

应用程序的android build.gradle文件-默认存储库是什么,android,gradle,build.gradle,jcenter,Android,Gradle,Build.gradle,Jcenter,在顶级build.gradle文件的build.gradle文件中,没有专门编写jcenter()。因此,在顶级build.gradle文件中,我有一个如下示例: //顶级生成文件,您可以在其中添加所有子项目/模块通用的配置选项 buildscript { repositories { //jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.2.3'

在顶级build.gradle文件的build.gradle文件中,没有专门编写jcenter()。因此,在顶级build.gradle文件中,我有一个如下示例:

//顶级生成文件,您可以在其中添加所有子项目/模块通用的配置选项

buildscript {
    repositories {
        //jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.2.3'
    }
}

allprojects {
    repositories {
        //jcenter()
    }
}
不知何故,我在模块中定义的所有依赖项仍然可以找到,并且应用程序运行良好。我可以假设jcenter()是默认回购协议吗?如果没有找到?默认情况下是否使用它?否则,我的依赖关系将如何发展。另外,如果我想超越jcenter()使用另一种回购协议,我会怎么做

那么,如果我有以下自定义存储库呢:

buildscript {
    repositories {
        maven {
            url "https://someEnterpriseRepository.com/myRepo"
        }
    }
这是否意味着它首先检查maven custom repo,然后在未找到依赖项时检查jcenter()?
顺便说一句,在测试所有这些之前,我已经从文件-->无效缓存中清除了IDE缓存

在脚本中没有明确说明的存储库的情况下,构建可以工作的原因只有两个:

  • Gradle使用透明地定义存储库的
  • 依赖项来自本地缓存

  • 在脚本中没有明确说明的存储库的情况下,构建可以工作的原因只有两个:

  • Gradle使用透明地定义存储库的
  • 依赖项来自本地缓存

  • 尝试从命令行运行构建。我的猜测是,如果没有定义存储库,它将失败。当然,这就是我所看到的。不过,我无法解释为什么这个构建可以在Android Studio中运行。在做了这个更改之后,您是否尝试过更改依赖项,例如任何库的较低版本或较高版本。重要的是,您将要添加/降低/提高的库在您的任何项目中都不能使用。我记得在As的最后一次更新中,它为所有项目在您的本地计算机上创建了一个公共存储库,因此如果您在一个项目中下载,那么它对所有其他项目都可用。您确定它在为您工作之前可用吗?我在buildscript->repositories和AllProject->repositories中对jcenter()进行了注释,在同步过程中出现了错误。这可能取决于gradle缓存(尝试运行gradle clean)和依赖项。同时发布你的build.gradle。gradle插件可以缓存。Mateusz Pryczkowski我按照你的要求做了,更改了依赖项的一个版本,但它没有编译,所以我猜你的权利是缓存。尝试从命令行运行构建。我的猜测是,如果没有定义存储库,它将失败。当然,这就是我所看到的。不过,我无法解释为什么这个构建可以在Android Studio中运行。在做了这个更改之后,您是否尝试过更改依赖项,例如任何库的较低版本或较高版本。重要的是,您将要添加/降低/提高的库在您的任何项目中都不能使用。我记得在As的最后一次更新中,它为所有项目在您的本地计算机上创建了一个公共存储库,因此如果您在一个项目中下载,那么它对所有其他项目都可用。您确定它在为您工作之前可用吗?我在buildscript->repositories和AllProject->repositories中对jcenter()进行了注释,在同步过程中出现了错误。这可能取决于gradle缓存(尝试运行gradle clean)和依赖项。同时发布你的build.gradle。gradle插件可以缓存。Mateusz Pryczkowski我按照你的要求做了,更改了一个依赖项的版本,但它没有编译,所以我猜你是对的,它是缓存。你是对的!!我检查了init.gradle脚本,它包含repo。否则它将是某种缓存。谢谢。你说得对!!我检查了init.gradle脚本,它包含repo。否则它将是某种缓存。谢谢