我的应用程序中有2个模块,我想修改它们以使用AppCompat Widgets,我必须用它来扩展它们。问题是我不想为每个人添加appcompat依赖,所以我怎么可能将依赖添加到模块和我的应用程序。如果我确实添加
compile 'com.android.support:appcompat-v7:23.1.1'
到每个模块,它会影响应用程序的大小吗?
答案 0 :(得分:6)
使用
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}",
]
}
在顶级文件build.gradle
中:
// 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'
在module1/build.gradle
:
// Module build file
dependencies {
//......
compile supportDependencies.appCompat
compile supportDependencies.design
}