0

トップレベルの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カスタムリポジトリをチェックしてから、依存関係が見つからない場合はjcenter()をチェックするということですか? ところで、私はファイルからIDEキャッシュをクリアしました->これをすべてテストする前にキャッシュを無効にします。

4

1 に答える 1

0

スクリプトに明確に記述されたリポジトリがなくてもビルドが機能する理由は、次の 2 つだけです。

  1. Gradle は、リポジトリを透過的に定義するinit スクリプトを使用します。
  2. 依存関係は、ローカル キャッシュから取得されます。
于 2015-07-30T17:23:39.007 に答える