如何基于某些配置文件动态添加gradle依赖项
告诉android studio将哪些库添加到项目中
提前致谢
最佳答案
如果我对您的理解正确,那么您将需要:
而且您要避免,您必须一直 checkout 或注释一些依赖项,因为最后一次 checkin 来自团队B,而团队A需要一些其他依赖项(或相同依赖项的不同版本)。
我到目前为止正确吗?
可以使用gradle中的新标记
apply-from
来完成此操作。或多或少,这是
include
命令,它允许您将单独文件的内容导入当前的build.gradle配置中。我在我的项目中使用它来包含签名配置(对于我的所有应用程序仅存在一次,并且仅“包含”在构建中,并且不会一遍又一遍地复制)。
对于某些标准依赖项(例如支持库,浓缩咖啡和类似东西)也是如此。
这使build.gradle文件较小。
从我的构建文件中看这个示例,我认为您可以对其进行调整以供使用:
apply plugin: 'com.android.application'
apply from: '../../stdcfg/app/default.build.gradle'
apply from: '../../stdcfg/app/include.libs.gradle'
apply from: '../../stdcfg/app/signingconfig.gradle'
android {
// ... normal contents of your build file
}
apply-from
包含此build.gradle文件中的任何文件。作为示例,这是我的default.build.gradle文件的(部分)内容,您会看到,它甚至可以添加依赖项:dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2',
{
exclude group: 'com.android.support', module: 'support-annotations'
})
testCompile 'junit:junit:4.12'
compile 'com.android.support:cardview-v7:25.2.0'
compile 'com.android.support:appcompat-v7:25.2.0'
compile 'com.android.support:design:25.2.0'
compile 'com.android.support:support-v4:25.2.0'
// compile 'com.google.android.gms:play-services-ads:10.2.0'
// compile 'com.google.android.gms:play-services-gcm:10.2.0'
}
那么,您如何适应使用呢?
假设A团队和B团队各自获得一个特定文件,我们将文件命名为
teamconfig.gradle
。在团队A的分支中,该文件包含团队A的配置,在团队B的分支B中。
两个团队都为其应用程序使用相同的build.gradle文件,其中包含以下行:
apply from: '../branches/teamconfig/teamconfig.gradle'
该文件包含特定于团队的配置。
希望这可以帮助。
关于android - Android Gradle依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42900847/