Android 在所有库中导入应用程序兼容性依赖项

Android 在所有库中导入应用程序兼容性依赖项,android,gradle,android-gradle-plugin,android-support-library,build.gradle,Android,Gradle,Android Gradle Plugin,Android Support Library,Build.gradle,我的应用程序中有两个模块,我想修改这两个模块以使用AppCompat小部件,我必须用相同的扩展它们。问题是,我不想将appcompat依赖项添加到它们中的每一个,因此我如何可能将依赖项添加到模块和我的应用程序中。如果我加上 compile 'com.android.support:appcompat-v7:23.1.1' 对于每个模块,它会影响应用程序大小吗?使用 compile 'com.android.support:appcompat-v7:23.1.1' 在每个模块中,并不意味着添加

我的应用程序中有两个模块,我想修改这两个模块以使用AppCompat小部件,我必须用相同的扩展它们。问题是,我不想将appcompat依赖项添加到它们中的每一个,因此我如何可能将依赖项添加到模块和我的应用程序中。如果我加上

compile 'com.android.support:appcompat-v7:23.1.1'
对于每个模块,它会影响应用程序大小吗?

使用

compile 'com.android.support:appcompat-v7:23.1.1'
在每个模块中,并不意味着添加两次或更多次

Gradle只为您添加一次库

使用多模块项目,您可以在gradle中集中支持库依赖项

一个很好的方法是分离gradle构建文件,定义如下内容:

root
  --gradleScript
  ----dependencies.gradle
  --module1
  ----build.gradle
  --module2
  ----build.gradle
  --build.gradle
gradleScript/dependecies.gradle
中:

ext {
    //Version
    supportLibrary = '23.2.0'

    //Support Libraries dependencies
    supportDependencies = [
            design           :         "com.android.support:design:${supportLibrary}",
            recyclerView     :         "com.android.support:recyclerview-v7:${supportLibrary}",
            cardView         :         "com.android.support:cardview-v7:${supportLibrary}",
            appCompat        :         "com.android.support:appcompat-v7:${supportLibrary}",
            supportAnnotation:         "com.android.support:support-annotations:${supportLibrary}",
    ]
}
// 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:1.5.0'
    }
}

// Load dependencies
apply from: 'gradleScript/dependencies.gradle'
// Module build file

dependencies {
    //......
    compile supportDependencies.appCompat
    compile supportDependencies.design
}
在顶级文件
build.gradle
中:

ext {
    //Version
    supportLibrary = '23.2.0'

    //Support Libraries dependencies
    supportDependencies = [
            design           :         "com.android.support:design:${supportLibrary}",
            recyclerView     :         "com.android.support:recyclerview-v7:${supportLibrary}",
            cardView         :         "com.android.support:cardview-v7:${supportLibrary}",
            appCompat        :         "com.android.support:appcompat-v7:${supportLibrary}",
            supportAnnotation:         "com.android.support:support-annotations:${supportLibrary}",
    ]
}
// 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:1.5.0'
    }
}

// Load dependencies
apply from: 'gradleScript/dependencies.gradle'
// Module build file

dependencies {
    //......
    compile supportDependencies.appCompat
    compile supportDependencies.design
}
模块1/build.gradle
中:

ext {
    //Version
    supportLibrary = '23.2.0'

    //Support Libraries dependencies
    supportDependencies = [
            design           :         "com.android.support:design:${supportLibrary}",
            recyclerView     :         "com.android.support:recyclerview-v7:${supportLibrary}",
            cardView         :         "com.android.support:cardview-v7:${supportLibrary}",
            appCompat        :         "com.android.support:appcompat-v7:${supportLibrary}",
            supportAnnotation:         "com.android.support:support-annotations:${supportLibrary}",
    ]
}
// 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:1.5.0'
    }
}

// Load dependencies
apply from: 'gradleScript/dependencies.gradle'
// Module build file

dependencies {
    //......
    compile supportDependencies.appCompat
    compile supportDependencies.design
}
使用

在每个模块中,并不意味着添加两次或更多次

Gradle只为您添加一次库

使用多模块项目,您可以在gradle中集中支持库依赖项

一个很好的方法是分离gradle构建文件,定义如下内容:

root
  --gradleScript
  ----dependencies.gradle
  --module1
  ----build.gradle
  --module2
  ----build.gradle
  --build.gradle
gradleScript/dependecies.gradle
中:

ext {
    //Version
    supportLibrary = '23.2.0'

    //Support Libraries dependencies
    supportDependencies = [
            design           :         "com.android.support:design:${supportLibrary}",
            recyclerView     :         "com.android.support:recyclerview-v7:${supportLibrary}",
            cardView         :         "com.android.support:cardview-v7:${supportLibrary}",
            appCompat        :         "com.android.support:appcompat-v7:${supportLibrary}",
            supportAnnotation:         "com.android.support:support-annotations:${supportLibrary}",
    ]
}
// 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:1.5.0'
    }
}

// Load dependencies
apply from: 'gradleScript/dependencies.gradle'
// Module build file

dependencies {
    //......
    compile supportDependencies.appCompat
    compile supportDependencies.design
}
在顶级文件
build.gradle
中:

ext {
    //Version
    supportLibrary = '23.2.0'

    //Support Libraries dependencies
    supportDependencies = [
            design           :         "com.android.support:design:${supportLibrary}",
            recyclerView     :         "com.android.support:recyclerview-v7:${supportLibrary}",
            cardView         :         "com.android.support:cardview-v7:${supportLibrary}",
            appCompat        :         "com.android.support:appcompat-v7:${supportLibrary}",
            supportAnnotation:         "com.android.support:support-annotations:${supportLibrary}",
    ]
}
// 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:1.5.0'
    }
}

// Load dependencies
apply from: 'gradleScript/dependencies.gradle'
// Module build file

dependencies {
    //......
    compile supportDependencies.appCompat
    compile supportDependencies.design
}
模块1/build.gradle
中:

ext {
    //Version
    supportLibrary = '23.2.0'

    //Support Libraries dependencies
    supportDependencies = [
            design           :         "com.android.support:design:${supportLibrary}",
            recyclerView     :         "com.android.support:recyclerview-v7:${supportLibrary}",
            cardView         :         "com.android.support:cardview-v7:${supportLibrary}",
            appCompat        :         "com.android.support:appcompat-v7:${supportLibrary}",
            supportAnnotation:         "com.android.support:support-annotations:${supportLibrary}",
    ]
}
// 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:1.5.0'
    }
}

// Load dependencies
apply from: 'gradleScript/dependencies.gradle'
// Module build file

dependencies {
    //......
    compile supportDependencies.appCompat
    compile supportDependencies.design
}

如何使用排除组添加依赖项。如何使用排除组添加依赖项。