1. ホーム
  2. android

[解決済み] build.gradle(Project)とbuild.gradle(Module)の違い

2022-10-09 12:34:18

質問

Android Asynchronous Http Clientの依存関係を私のプロジェクトに追加しようとしています。そのため、2つの build.gradle ファイルがあります。

私の理解では、異なる種類の依存関係があります。

  1. のルートレベルで定義されているもの。 build.gradle (プロジェクト:My-app)
  2. のbuildscriptの中に一つ build.gradle (プロジェクト:My-app)
  3. もう一つは、build.gradle (Modules:app)です。

この質問 は、buildScriptの依存関係のためのリポジトリについてであり、最初の2つのタイプについて少し説明してください。

また、build.gradle (Project:My-app)には以下のように書かれています。

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files

ということは、Android Asynchronous Http Clientの依存関係のコードを build.gradle (Module:app)に追加してください。

どのように組み合わされるのでしょうか?

どのように解決するのですか?

build.gradle (プロジェクト:My-app)

すべてのサブプロジェクト/モジュールに共通する設定オプションを追加できるトップレベルのビルドファイルです。 を追加できるトップレベルのビルドファイルです。

各プロジェクトには トップレベルのGradleファイル . 通常、このファイルには 共通設定 すべての modules . このトップレベルのGradle gileに含まれるものが何であれ、それはすべての モジュールに影響を与えます。 .

例です。

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.0.0-alpha3'

        //Maven plugin
        classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
        maven { url "https://jitpack.io" }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}


build.gradle (モジュール:app)

特定のモジュールのビルドファイル (依存関係、署名の設定、ビルドタイプ、フレーバーなどを追加する場所)

すべて モジュール は特定のGradleファイルを持っています。この中に含まれるものは gradle ファイルに含まれるものが何であれ、それは モジュールにのみ影響します。 にのみ影響します。

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.hrskrs.gesturefun"
        minSdkVersion 10
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            zipAlignEnabled true
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            debuggable true
            zipAlignEnabled true
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile project(':gesture-fun')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'
    compile 'com.jakewharton:butterknife:7.0.1'
}